Системы и способы применения отслеживания модели для захвата движений

Иллюстрации

Показать все

Изобретение относится к области захвата движений. Техническим результатом является эффективный захват движений пользователя в сцене. Изображение, такое как изображение глубины сцены, может приниматься, наблюдаться или захватываться устройством, и может генерироваться модель пользователя в изображении. Модель затем может корректироваться для имитации одного или нескольких движений пользователя. Например, моделью может быть скелетная модель, имеющая суставы и кости, которые могут корректироваться в позы, соответствующие движениям пользователя в физическом пространстве. Файл захвата движений по отношению к движению пользователя может генерироваться в реальном времени, основываясь на скорректированной модели. Например, набор векторов, который определяет суставы и кости для каждой позы скорректированной модели, может захватываться и визуализироваться в файле захвата движений. 3 н. и 12 з.п. ф-лы, 14 ил.

Реферат

Уровень техники

Многие вычислительные приложения, такие как компьютерные игры, мультимедийные приложения или т.п., включают в себя аватары или персонажи, которые анимируются с использованием типовых методов захвата движений. Например, при разработке игры в гольф профессиональный игрок в гольф может быть приведен в студию, имеющую оборудование для захвата движений, включающее в себя, например, множество камер, направленных в конкретную точку в студии. Затем профессиональный игрок в гольф может быть экипирован в костюм для захвата движений, имеющий множество точечных указателей, которые могут быть сконфигурированы с камерами и могут отслеживаться камерами, так что камеры могут захватывать, например, движения при игре в гольф профессионального игрока в гольф. Движения затем могут быть применены к аватару или персонажу во время разработки игры в гольф. При завершении игры в гольф аватар или персонаж затем может анимироваться движениями профессионального игрока в гольф во время исполнения игры в гольф. К сожалению, типовые методы захвата движений являются дорогостоящими, связаны с разработкой конкретного приложения и не включают в себя движения, ассоциированные с фактическим игроком или пользователем приложения.

Сущность изобретения

В настоящем документе описаны системы и способы для захвата движений пользователя в сцене. Например, может приниматься или наблюдаться изображение, например, глубины сцены. Изображение глубины затем может анализироваться для определения, включает ли в себя изображение человеческую цель, ассоциированную с пользователем. Если изображение включает в себя человеческую цель, ассоциированную с пользователем, может генерироваться модель пользователя. Затем модель может отслеживаться в ответ на движение пользователя, так что модель может корректироваться для имитирования движения пользователя. Например, модель может представлять собой скелетную модель, имеющую суставы и кости, которые могут корректироваться в позы, соответствующие движению пользователя в физическом пространстве. Согласно примерному варианту осуществления файл захвата движений по отношению к движению пользователя затем может генерироваться в реальном времени, основываясь на отслеживаемой модели. Например, набор векторов, которые определяют суставы и кости для каждой позы скорректированной модели, может захватываться и визуализироваться в файле захвата движений.

Данный раздел «Сущность изобретения» предусматривается для введения подборки характерных принципов в упрощенном виде, которые дополнительно описываются ниже в разделе «Подробное описание». Данный раздел «Сущность изобретения» не предназначен для идентификации ключевых признаков или существенных признаков заявленного предмета изобретения и не предназначен для использования для ограничения объема заявленного предмета изобретения. Кроме того, заявленный предмет изобретения не ограничивается реализациями, которые решают какие-либо или все недостатки, отмеченные в любой части данного раскрытия.

Краткое описание чертежей

Фиг.1А и 1В изображают примерный вариант осуществления системы распознавания, анализа и отслеживания цели с пользователем, играющим в игру.

Фиг.2 изображает примерный вариант осуществления устройства захвата, которое может использоваться в системе распознавания, анализа и отслеживания цели.

Фиг.3 изображает примерный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или нескольких жестов в системе распознавания, анализа и отслеживания цели и/или анимации аватара или экранного персонажа, отображаемых системой распознавания, анализа и отслеживания цели.

Фиг.4 изображает другой примерный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или нескольких жестов в системе распознавания, анализа и отслеживания цели и/или анимации аватара или экранного персонажа, отображаемых системой распознавания, анализа и отслеживания цели.

Фиг.5 изображает блок-схему последовательности операций примерного способа для захвата движений человеческой цели.

Фиг.6 изображает примерный вариант осуществления изображения, которое может включать в себя человеческую цель.

Фиг.7 изображает примерный вариант осуществления модели, которая может генерироваться для человеческой цели.

Фиг.8А-8С изображают примерный вариант осуществления модели, которая может захватываться в различные моменты времени.

Фиг.9А-9С изображают примерный вариант осуществления аватара или персонажа игры, которые могут анимироваться, основываясь на модели, которая может захватываться в различные моменты времени.

Подробное описание иллюстративных вариантов осуществления

Как описано в данном документе, пользователь может управлять приложением, исполняющимся на вычислительной среде, такой как игровая консоль, компьютер или т.п., и/или может анимировать аватар или экранный персонаж посредством выполнения одного или нескольких жестов и/или движений. Согласно одному варианту осуществления жесты и/или движения могут приниматься, например, устройством захвата. Например, устройство захвата может захватывать изображение глубины сцены. В одном варианте осуществления устройство захвата может определять, соответствует ли одна или несколько целей или объектов в сцене человеческой цели, такой как пользователь. Каждая цель или объект, которая совпадает или соответствует человеческой цели, затем может сканироваться для генерирования модели, такой как скелетная модель, сеточная модель человека или т.п., ассоциированной с ними. Модель затем может быть предоставлена вычислительной среде, так что вычислительная среда может отслеживать модель, генерировать файл захвата движений отслеживаемой модели, визуализировать аватар, ассоциированный с моделью, анимировать аватар, основываясь на файле захвата движений отслеживаемой модели и/или определять, какой элемент управления выполнить в приложении, исполняющемся на вычислительной среде, основываясь, например, на отслеживаемой модели.

Фиг.1А и 1В изображают примерный вариант осуществления конфигурации системы 10 распознавания, анализа и отслеживания цели с пользователем 18, играющим в игру в бокс. В примерном варианте осуществления система 10 распознавания, анализа и отслеживания цели может использоваться для распознавания, анализа и/или отслеживания человеческой цели, такой как пользователь 18.

Как показано на фиг.1А, система 10 распознавания, анализа и отслеживания цели может включать в себя вычислительную среду 12. Вычислительная среда 12 может представлять собой компьютер, игровую систему или консоль или т.п. Согласно примерному варианту осуществления вычислительная среда 12 может включать в себя аппаратные компоненты и/или программные компоненты, так что вычислительная среда 12 может использоваться для исполнения приложений, таких как игровые приложения, неигровые приложения или т.п. В одном варианте осуществления вычислительная среда 12 может включать в себя процессор, такой как стандартизированный процессор, специализированный процессор, микропроцессор или т.п., которые могут исполнять инструкции, включающие в себя, например, инструкции для приема изображения, генерирования модели пользователя, захваченного в изображении, отслеживания модели, генерирования файла захвата движений, основываясь на отслеживаемой модели, применение файла захвата движений или любой другой подходящей инструкции, которые описаны более подробно ниже.

Как показано на фиг.1А, система 10 распознавания, анализа и отслеживания цели может дополнительно включать в себя устройство 20 захвата. Устройство 20 захвата может представлять собой, например, камеру, которая может использоваться для визуального контролирования одного или нескольких пользователей, таких как пользователь 18, так что жесты и/или движения, выполняемые одним или несколькими пользователями, могут захватываться, анализироваться и отслеживаться для выполнения одного или нескольких элементов управления или действий в приложении и/или анимации аватара или экранного персонажа, как более подробно описано ниже.

Согласно одному варианту осуществления система 10 распознавания, анализа и отслеживания цели может быть соединена с аудиовизуальным устройством 16, таким как телевизор, монитор, телевизор высокого разрешения (HDTV) или т.п., которые могут предоставлять визуальные сигналы и/или аудиоигры или приложения пользователю, такому как пользователь 18. Например, вычислительная среда 12 может включать в себя видеоадаптер, такой как графическая карта, и/или аудиоадаптер, такой как звуковая карта, которые могут обеспечивать аудиовизуальные сигналы, ассоциированные с игровым приложением, неигровым приложением или т.п. Аудиовизуальное устройство 16 может принимать аудиовизуальные сигналы от вычислительной среды 12 и может затем выводить визуальные сигналы и/или аудиоигры или приложения, ассоциированные с аудиовизуальными сигналами, пользователю 18. Согласно одному варианту осуществления аудиовизуальное устройство 16 может быть соединено с вычислительной средой 12 при помощи, например, кабеля S-Video (с раздельным видеосигналом), коаксиального кабеля, кабеля HDMI (мультимедийного интерфейса высокого разрешения), кабеля DVI (цифрового видеоинтерфейса), кабеля VGA (видеографического адаптера) или т.п.

Как показано на фиг.1А и 1В, система 10 распознавания, анализа и отслеживания цели может использоваться для распознавания, анализа и/или отслеживания человеческой цели, такой как пользователь 18. Например, пользователь 18 может отслеживаться с использованием устройства 20 захвата, так что жесты и/или движения пользователя 18 могут захватываться для анимации аватара или экранного персонажа и/или могут интерпретироваться в качестве элементов управления, которые могут использоваться для воздействия на приложение, исполняемое компьютерной средой 12. Таким образом, согласно одному варианту осуществления пользователь 18 может двигать свое тело для управления приложением и/или анимацией аватара или экранного персонажа.

Как показано на фиг.1А и 1В, в примерном варианте осуществления приложением, исполняющимся на вычислительной среде 12, может быть игра в бокс, в которую может играть пользователь 18. Например, вычислительная среда 12 может использовать аудиовизуальное устройство 16 для предоставления визуального представления соперника 38 в боксе пользователю 18. Вычислительная среда 12 также может использовать аудиовизуальное устройство 16 для предоставления визуального представления аватара 40 игрока, которым пользователь 18 может управлять при помощи своих движений. Например, как показано на фиг.1В, пользователь 18 может нанести удар в физическом пространстве, вызывая нанесение удара аватаром 40 игрока в игровом пространстве. Таким образом, согласно примерному варианту осуществления компьютерная среда 12 и устройство 20 захвата системы 10 распознавания, анализа и отслеживания цели могут использоваться для распознавания и анализа удара пользователя 18 в физическом пространстве, так что удар может интерпретироваться в качестве элемента управления игры аватаром 40 игрока в игровом пространстве, и/или движение удара может использоваться для анимации аватара 40 игрока в игровом пространстве.

Другие движения пользователя 18 также могут интерпретироваться в качестве других элементов управления или действий и/или использоваться для анимации аватара игрока, такие как элементы управления для легкого удара, качания, мелких боксерских шагов, блокирования, прямого удара по корпусу, или нанесения многочисленных разных мощных ударов. Кроме того, некоторые движения могут интерпретироваться в качестве элементов управления, которые могут соответствовать действиям кроме управления аватаром 40 игрока. Например, игрок может использовать движения для окончания, паузы или сохранения игры, выбора уровня, просмотра наивысших достижений, общения с другом и т.д. Кроме того, полный диапазон движения пользователя 18 может быть доступен, использоваться и анализироваться любым подходящим образом для взаимодействия с приложением.

В примерных вариантах осуществления человеческая цель, такая как пользователь 18, может иметь объект. В таких вариантах осуществления пользователь электронной игры может держать объект, так что движения игрока и объекта могут использоваться для корректирования и/или управления параметрами игры. Например, движение игрока, держащего ракетку, могут отслеживаться и использоваться для управления экранной ракеткой в электронной спортивной игре. В другом примерном варианте осуществления движение игрока, держащего объект, может отслеживаться и использоваться для управления экранным оружием в электронной военной игре.

Согласно другим примерным вариантам осуществления система 10 распознавания, анализа и отслеживания цели может дополнительно использоваться для интерпретации движений цели в качестве элементов управления операционной системой и/или приложением, которые находятся вне области действия игр. Например, фактически любой управляемый аспект операционной системы и/или приложения может управляться движениями цели, такой как пользователь 18.

Фиг.2 изображает примерный вариант осуществления устройства 20 захвата, которое может использоваться в системе 10 распознавания, анализа и отслеживания цели. Согласно примерному варианту осуществления устройство 20 захвата может быть выполнено с возможностью захвата видео с информацией глубины, включая изображение глубины, которое может включать в себя значения глубины посредством любого подходящего метода, включая в себя, например, метод времени пролета, структурированного света, стереоизображения или т.п. Согласно одному варианту осуществления устройство 20 захвата может организовывать информацию глубины в «Z-слоях» или слоях, которые могут быть перпендикулярны оси Z, отходящих от глубинной камеры вдоль ее линии прямой видимости.

Как показано на фиг.2, устройство 20 захвата может включать в себя компонент 22 камеры изображения. Согласно примерному варианту осуществления компонент 22 камеры изображения может представлять собой глубинную камеру, которая может захватывать изображение глубины сцены. Изображение глубины может включать в себя двумерную (2D) пиксельную область захваченной сцены, где каждый пиксель в пиксельной 2D-области может представлять значение глубины, такое как длина или расстояние, например, в сантиметрах, миллиметрах или т.п., объекта в захваченной сцене от камеры.

Как показано на фиг.2, согласно примерному варианту осуществления компонент 22 камеры изображения может включать в себя компонент 24 инфракрасного (IR) света, трехмерную (3D) камеру 26 и RGB-камеру 28, которые могут использоваться для захвата изображения глубины сцены. Например, в анализе времени пролета компонент 24 IR-света устройства 20 захвата может излучать инфракрасный свет в сцену и затем может использовать датчики (не показаны) для обнаружения света обратного рассеяния от поверхности одной или нескольких целей и объектов в сцене, используя, например, 3D-камеру 26 и/или RGB-камеру 28. В некоторых вариантах осуществления может использоваться импульсный инфракрасный свет, так что время между исходящим импульсом света и соответствующим входящим импульсом света может измеряться и использоваться для определения физического расстояния от устройства 20 захвата до конкретного расположения на целях или объектах в сцене. Кроме того, в других примерных вариантах осуществления фаза исходящей световой волны может сравниваться с фазой входящей световой волны для определения фазового сдвига. Фазовый сдвиг затем может использоваться для определения физического расстояния от устройства захвата до конкретного расположения на целях или объектах.

Согласно другому примерному варианту осуществления анализ времени пролета может использоваться для непосредственного определения физического расстояния от устройства 20 захвата до конкретного расположения на целях или объектах посредством анализа интенсивности отраженного луча света во времени посредством различных методов, включающих в себя, например, изображение импульса перекрываемого света.

В другом примерном варианте осуществления устройство 20 захвата может использовать структурированный свет для захвата информации о глубине. При таком анализе узорчатый свет (т.е. свет, отображаемый в виде известного узора, такого как сетчатый узор или полосовой узор) может проецироваться на сцену при помощи, например, компонента 24 IR-света. При падении на поверхность одной или нескольких целей или объектов в сцене узор может становиться в ответ деформированным. Такая деформация узора может захватываться, например, 3D-камерой 26 и/или RGB-камерой 28 и затем может анализироваться для определения физического расстояния от устройства захвата до конкретного расположения на целях или объектах.

Согласно другому варианту осуществления устройство 20 захвата может включать в себя две или более физически разнесенных камер, которые могут просматривать сцену с разных углов для получения визуальных стереоданных, которые могут быть разложены для генерирования информации о глубине.

Устройство 20 захвата может дополнительно включать в себя микрофон 30. Микрофон 30 может включать в себя преобразователь или датчик, который может принимать и преобразовывать звук в электрический сигнал. Согласно одному варианту осуществления микрофон 30 может использоваться для уменьшения обратной связи между устройством 20 захвата и вычислительной средой 12 в системе 10 распознавания, анализа и отслеживания цели. Кроме того, микрофон 30 может использоваться для приема аудиосигналов, которые также могут обеспечиваться пользователем для управления приложениями, такими как игровые приложения, неигровые приложения или т.п., которые могут исполняться вычислительной средой 12.

В примерном варианте осуществления устройство 20 захвата может дополнительно включать в себя процессор 32, который может находиться в действующей связи с компонентом 22 камеры изображения. Процессор 32 может включать в себя стандартный процессор, специализированный процессор, микропроцессор или т.п., который может исполнять инструкции, включающие в себя, например, инструкции для приема изображения, генерирования модели пользователя, захваченного в изображении, отслеживания модели, генерирования файла захвата движений, основываясь на отслеживаемой модели, применения файла захвата движений, или любую другую подходящую инструкцию, которые более подробно описаны ниже.

Устройство 20 захвата может дополнительно включать в себя компонент 34 памяти, который может хранить инструкции, которые могут исполняться процессором 32, изображения или кадры изображений, захваченные 3D-камерой или 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 захвата может предоставлять информацию глубины и изображения, захваченные, например, 3D-камерой 26 и/или RGB-камерой 28, и/или скелетную модель, которая может генерироваться устройством 20 захвата, вычислительной среде 12 при помощи линии 36 связи. Вычислительная среда 12 затем может использовать модель, информацию глубины и захваченные изображения, например, для управления приложением, таким как игра или текстовой процессор, и/или анимации аватара или экранного персонажа. Например, как показано на фиг.2, вычислительная среда 12 может включать в себя библиотеку 190 жестов. Библиотека 190 жестов может включать в себя коллекцию фильтров жестов, причем каждый содержит информацию, касающуюся жеста, который может выполняться скелетной моделью (когда пользователь движется). Данные, захваченные камерами 26, 28 и устройством 20 захвата в виде скелетной модели, и движения, ассоциированные с ними, могут сравниваться с фильтрами жестов в библиотеке 190 жестов для идентификации, когда пользователь (представленный скелетной моделью) выполнил одно или несколько жестов. Эти жесты могут ассоциироваться с различными элементами управления приложением. Таким образом, вычислительная среда 12 может использовать библиотеку 190 жестов для интерпретации движений скелетной модели и управления приложением на основе движений.

Фиг.3 изображает примерный вариант осуществления вычислительной среды, которая может использоваться для интерпретации одного или нескольких жестов в системе распознавания, анализа и отслеживания цели и/или анимации аватара или экранного персонажа, отображаемых системой распознавания, анализа и отслеживания цели. Вычислительная среда, такая как вычислительная среда 12, описанная выше в отношении фиг.1А-2, может представлять собой мультимедийную консоль 100, такую как игровая консоль. Как показано на фиг.3, мультимедийная консоль 100 имеет центральный блок 101 обработки (CPU), имеющий кэш 102 уровня 1, кэш 104 уровня 2 и флэш-ROM (постоянное запоминающее устройство) 106. Кэш 102 уровня 1 и кэш 104 уровня 2 временно хранят данные и, следовательно, уменьшают количество циклов обращения к памяти, тем самым повышая скорость обработки и производительность. CPU 101 может обеспечиваться имеющим более одного ядра, и, таким образом, дополнительные кэши 102 и 104 уровня 1 и уровня 2. Флэш-ROM 106 может хранить исполняемый код, который загружается во время начальной фазы процесса начальной загрузки, когда включается питание на мультимедийной консоли 100.

Блок 108 обработки графики (GPU) и видеокодер/видеокодек (кодер/декодер) 114 образуют конвейер обработки видео для обработки графики с высокой скоростью и высоким разрешением. Данные переносятся с блока 108 обработки графики на видеокодер/видеокодек 114 по шине. Конвейер обработки видео выводит данные на порт 140 аудио/видео (A/V) для передачи на телевизор или другое устройство отображения. Контроллер 110 памяти соединен с GPU 108, чтобы способствовать доступу процессора к различным типам памяти 112, такой как, но не ограничиваясь ей, оперативное запоминающее устройство (RAM).

Мультимедийная консоль 100 включает в себя контроллер 120 ввода/вывода (I/O), контроллер 122 администрирования системы, блок 123 обработки аудио, контроллер 124 сетевого интерфейса, первый контроллер 126 USB-хоста, второй контроллер 128 USB и подузел 130 ввода-вывода (I/O) на передней панели, которые предпочтительно реализованы на модуле 118. Контроллеры 126 и 128 USB служат в качестве хостов для периферийных органов управления 142(1)-142(2), беспроводного адаптера 148 и устройства 146 внешней памяти (например, флэш-памяти, внешнего накопителя на CD/DVD, съемного носителя и т.д.). Сетевой интерфейс 124 и/или беспроводный адаптер 148 обеспечивают доступ к сети (например, Интернету, домашней сети и т.д.) и могут быть любыми из многочисленных различных компонентов проводных или беспроводных адаптеров, включая карту Ethernet, модем, модуль Bluetooth, кабельный модем и т.п.

Системная память 143 обеспечивается для хранения данных приложения, которые загружаются во время процесса начальной загрузки. Обеспечивается накопитель 144 на носителе, и он может содержать накопитель на DVD/CD, накопитель на жестком диске или другой накопитель со съемным носителем и т.д. Накопитель 144 на носителе может быть внутренним или внешним для мультимедийной консоли 100. К данным приложения может обращаться накопитель 144 на носителе для исполнения, проигрывания и т.д. посредством мультимедийной консоли 100. Накопитель 144 на носителе соединен с контроллером 120 I/O посредством шины, такой как шины Serial ATA, или другого высокоскоростного соединения (например, IEEE 1394).

Контроллер 122 администрирования системы обеспечивает многочисленные функции обслуживания, относящиеся к обеспечению доступности мультимедийной консоли 100. Блок 123 обработки аудио и аудиокодек 132 образуют соответствующий конвейер обработки аудио с обработкой с высоким качеством и стерео. Аудиоданные переносятся между блоком 123 обработки аудио и аудиокодеком 132 при помощи линии связи. Конвейер обработки аудио выводит данные на порт 140 A/V для воспроизведения внешним аудиоплеером или устройством, имеющим аудиовозможности.

Подузел 130 I/O на передней панели поддерживает функциональную возможность кнопки 150 включения питания и кнопки 152 выброса, а также любых LED (светоизлучающих диодов) или других индикаторов, установленных открыто на внешней поверхности мультимедийной консоли 100. Модуль 136 источника питания системы обеспечивает питание для компонентов мультимедийной консоли 100. Вентилятор 138 охлаждает схемы в мультимедийной консоли 100.

CPU 101, GPU 108, контроллер 110 памяти и различные другие компоненты в мультимедийной консоли 100 соединены между собой посредством одной или нескольких шин, включая последовательные и параллельные шины, шину памяти, периферийную шину и процессорную или локальную шину, используя любую из многочисленных шинных архитектур. В качестве примера такие архитектуры могут включать в себя шину межсоединения периферийных компонентов (PCI), шину PCI-Express и т.д.

Когда мультимедийная консоль 100 включается, данные приложения могут загружаться из системной памяти 143 в память 112 и/или кэши 102, 104 и исполняться на CPU 101. Приложение может представлять графический пользовательский интерфейс, который обеспечивает единообразное пользовательское впечатление при навигации к другим типам носителей, доступным на мультимедийной консоли 100. При работе приложения и/или другие носители, содержащиеся в накопителе 144 на носителе, могут запускаться или проигрываться с накопителя 144 на носителе для обеспечения дополнительных функциональных возможностей мультимедийной консоли 100.

Мультимедийная консоль 100 может работать в качестве автономной системы посредством простого подключения системы к телевизору или другому устройству отображения. В этом автономном режиме мультимедийная консоль 100 позволяет одному или нескольким пользователям взаимодействовать с системой, смотреть фильмы или слушать музыку. Однако при интеграции возможности широкополосного подключения, выполненной доступной при помощи сетевого интерфейса 124 или беспроводного адаптера 148, мультимедийная консоль 100 может дополнительно работать в качестве участника в большем сетевом сообществе.

Когда подается питание на мультимедийную консоль 100, установленное количество аппаратных ресурсов резервируется для системного использования операционной системой мультимедийной консоли. Эти ресурсы могут включать в себя резервирование памяти (например, 16 Мбайт), циклов CPU и GPU (например, 5%), пропускной способности сети (например, 8 кбит/с) и т.д. Так как эти ресурсы резервируются во время начальной загрузки системы, зарезервированные ресурсы не существуют с точки зрения приложения.

В частности, резервирование памяти предпочтительно достаточно большое, чтобы содержать ядро запуска, одновременные системные приложения и драйверы. Резервирование CPU является предпочтительно постоянным, так что если зарезервированное использование CPU не используется системными приложениями, поток простоя потребляет любые неиспользованные циклы.

Что касается резервирования GPU, упрощенные сообщения, генерируемые системными приложениями (например, всплывающие элементы), отображаются посредством использования прерывания GPU кода планирования для визуализации всплывающего элемента в наложение. Количество памяти, требуемое для наложения, зависит от размера области наложения, и наложение предпочтительно масштабируется с разрешением экрана. Когда используется полный пользовательский интерфейс одновременным системным приложением, предпочтительно использовать разрешение, независимо от разрешения приложения. Может использоваться блок масштабирования для установки данного разрешения, так что устраняется необходимость изменения частоты и причина ресинхронизации телевизора.

После того как мультимедийная консоль 100 выполнит начальную загрузку и системные ресурсы будут зарезервированы, исполняются одновременные системные приложения для обеспечения системных функциональных возможностей. Системные функциональные возможности инкапсулируются в набор системных приложений, которые исполняются в пределах зарезервированных системных ресурсов, описанных выше. Ядро операционной системы идентифицирует потоки, которыми являются потоки системных приложений по отношению к потокам игровых приложений. Системные приложения предпочтительно планируются для выполнения на CPU 101 в предварительно заданные моменты времени и интервалы, чтобы обеспечить согласованное представление системных ресурсов приложению. Планирование предназначено для минимизирования прерывания кэша для игровых приложений, выполняющихся на консоли.

Когда одновременное системное приложение требует аудио, обработка аудио планируется асинхронно игровому приложению из-за зависимости от времени. Администратор приложений мультимедийной консоли (описан ниже) управляет уровнем аудио игрового приложения (например, заглушен, ослаблен), когда активны системные приложения.

Устройства ввода (например, органы управления 142(1) и 142(2)) совместно используются игровыми приложениями и системными приложениями. Устройствам ввода не резервируются ресурсы, но должны переключаться между системными приложениями и игровыми приложениями, так что каждое имеет фокус устройства. Администратор приложений предпочтительно управляет переключением входного потока, без знания относительно знания игрового приложения, и драйвер сохраняет информацию о состоянии, касающуюся переключателей фокуса. Камеры 26, 28 и устройство 20 захвата могут определять дополнительные устройства ввода для консоли 100.

Фиг.4 изображает другой примерный вариант осуществления вычислительной среды 220, которой может быть вычислительная среда 12, показанная на фиг.1А-2, используемой для интерпретации одного или нескольких жестов в системе распознавания, анализа и отслеживания цели и/или анимации аватара или экранного персонажа, отображаемых системой распознавания, анализа и отслеживания цели. Вычислительная системная среда 220 представляет собой только один пример подходящей вычислительной среды и, как предполагается, не предлагает никакого ограничения в отношении объема использования или функциональных возможностей раскрытого в настоящее время предмета изобретения. Вычислительная среда 220 также не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любому одному или комбинации компонентов, изображенных в примерной операционной среде 220. В некоторых вариантах осуществления различные описанные вычислительные элементы могут включать в себя схемы, выполненные с возможностью реализации конкретных аспектов настоящего раскрытия. Например, термин «схемы», используемый в раскрытии, может включать в себя специализированные аппаратные компоненты, выполненные с возможностью выполнения функции(-ий) программно-аппаратными средствами или переключателями. В других примерных вариантах осуществления термин «схемы» может включать в себя блок обработки общего назначения, память и т.п., конфигурируемые программными инструкциями, которые воплощают логику, осуществимую для выполнения функции(-ий). В примерных вариантах осуществления, где схемы включают в себя комбинацию аппаратных и программных средств, конструктор может написать исходный код, воплощающий логику, и исходный код может компилироваться в считываемый машиной код, который может обрабатываться блоком обработки общего назначения. Так как специалист в данной области техники может оценить, что состояние техники эволюционировало до уровня, когда существует малая разница между аппаратными средствами, программными средствами или комбинацией аппаратных/программных средств, выбор аппаратных средств по отношению к программным средствам для осуществления конкретных функций представляет собой проектное решение, оставленное на усмотрение конструктора. Более конкретно, специалист в данной области техники может оценить, что программный процесс может быть преобразован в эквивалентную аппаратную конструкцию, и аппаратная конструкция сама может быть преобразована в эквивалентный программный процесс. Таким образом, выбор аппаратной реализации по отношению к программной реализации является одним из проектных решений и остается на усмотрение конструктора.

На фиг.4 вычислительная среда 220 содержит компьютер 241, который обычно включает в себя многочисленные считываемые компьютером носители. Считываемыми компьютером носителями могут быть любые доступные носители, к которым может обращаться компьютер 241, и они включают в себя как энергозависимые, так и энергонезависимые носители, как съемные, так и несъемные носители. Системная память 222 включает в себя носители данных компьютера в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 223 и оперативное запоминающее устройство (RAM) 260. Базовая система 224 ввода/вывода (BIOS), содержащая базовые подпрограммы, которые способствуют переносу информации между элементами в компьютере 241, например, во время запуска, обычно хранится в ROM 223. RAM 260 обычно содержит данные и/или программные модули, которые являются немедленно доступными для блока 259 обработки и/или обрабатываются им в настоящий момент. В качестве примера, а не ограничения, фиг.4 изображает операционную систему 225, прикладные программы 226, другие программные модули 227 и программные данные 228.

Компьютер 241 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые носители данных компьютера. Исключительно в качестве примера фиг.4 изображает накопитель 238 на жестком диске, который считывает с несъемного, энергонезависимого магнитного носителя или записывает на него, накопитель 239 на магнитных дисках, который считывает со съемного, энергонезависимого магнитного диска 254 или записывает на него, и накопитель 240 на оптическом диске, который считывает со съемного энергонезависимого оптического диска 253, такого как CD-ROM или другие оптические носители, или записывает на них. Другие съемные/несъемные, энергозависимые/энергонезависимые носители данных компьютера, которые могут использоваться в примерной операционной среде, включают в себя, но не ограничиваются ими, кассеты с магнитной лентой, карты флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и т.п. Накопитель 238 на жестком диске обычно соединен с системной шиной 221 посредством интерфейса несъемной памяти, такого как интерфейс 234, и накопитель 239 на магнитных дисках и накопитель 240 на оптическом диске обычно соединены с системной шиной 221 посредством интерфейса съемной памяти, такого как интерфейс 235.

Накопители и связанные с ними носители данных компьютера, описанные выше и изображенные на фиг.4, обеспечивают хранение считываемых компьютером инструкций, структур данных