МЕХАНИЗМЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ НА ОСНОВЕ КАМЕРЫ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ УСТАНОВЛЕННЫХ НА ГОЛОВЕ ДИСПЛЕЕВ
CAMERA BASED SAFETY MECHANISMS FOR USERS OF HEAD MOUNTED DISPLAYS

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение в общем относится к человеко-машинным интерфейсам, в частности к предупреждению пользователей, когда они перемещаются за пределы поля обзора камеры или когда они приближаются к одному или большему количеству материальных препятствий.
УРОВЕНЬ ТЕХНИКИ
[0002] Подходы, описанные в этом разделе, могут быть осуществлены, но не обязательно являются подходами, которые ранее были задуманы или осуществлены. Следовательно, если не указано иное, не следует предполагать, что любой из подходов, описанных в этом разделе, квалифицируется как уровень техники только на основании его включения в этот раздел.
[0003] Одной из быстро развивающихся технологий в области человеко-машинного взаимодействия является разнообразные установленные на голове или соединенные с головой дисплеи, которые могут быть надеты на голову пользователя и иметь один или два дисплея перед одним или двумя глазами пользователя. Такой тип дисплеев имеет множество гражданских и коммерческих применений, включая симуляцию виртуальной реальности, включая видеоигры, медицину, спортивные тренировки, развлекательные приложения и так далее. В игровой области эти дисплеи могут использоваться, например, для визуализации трехмерных (3D) виртуальных игровых миров. Важный аспект таких игровых дисплеев состоит в том, что пользователь имеет возможность изменять отображаемый вид в виртуальном мире посредством поворота головы в дополнение к использованию обычных устройств ввода, таких как клавиатура или шаровой манипулятор.
[0004] Однако в обычных установленных на голове дисплеях пользователи уязвимы для получения травм, когда они носят установленный на голове дисплей и осуществляют пользовательские действия, такие как выполнение движений или перемещений по направлению к материальным препятствиям, таким как кофейный столик, стул и т.д. Кроме того, в некоторых человеко-машинных интерфейсах, содержащих установленные на голове дисплеи, пользователь должен присутствовать в пределах поля обзора специализированной видеокамеры или датчика глубины. Пользователя может раздражать, когда человеко-машинное взаимодействие прерывается, если пользователь выходит из поля обзора.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0005] Это раскрытие изобретения обеспечено для представления выбора идей в упрощенной форме, которые дополнительно описаны в подробном описании ниже. Это раскрытие изобретения не предназначено для идентификации ключевых признаков или существенных признаков заявленного предмета изобретения, а также не предназначен для использования в качестве помощи в определении объема заявленного предмета изобретения.
[0006] В целом, настоящее изобретение относится к технологии предупреждения пользователя установленных на голове дисплеев (HMD, head mounted display), что они приближаются к краю сцены, заданной полем обзора камеры, или что они приближаются к одному или большему количеству материальных препятствий. Это предупреждение включает представление звуковых сообщений и/или отображаемых сообщений пользователю или перемещение дисплея (дисплеев) установленных на голове дисплеев от глаз пользователя. В дополнение к обеспечению предупреждения настоящее изобретение может быть использовано для регулировки информационного контента (content), визуализируемого на дисплейной части HMD на основании действий, таких как перемещение по направлению к краю поля обзора, перемещение по направлению к материальному препятствию и т.д., пользователя, носящего HMD. В соответствии с некоторыми вариантами осуществления регулировка контента включает визуализацию объекта реального мира из непосредственной близости к этому пользователю на дисплейной части HMD. Определение, что пользователь приближается к краю сцены или материальному препятствию, выполняется посредством динамического отслеживания движений пользователя через анализ изображений и/или данных глубины, полученных от датчика (датчиков) изображения и/или датчика (датчиков) глубины, прикрепленных к установленному на голове дисплее, расположенных внутри или снаружи сцены и не прикрепленных к установленному на голове дисплею или их комбинации.
[0007] Край сцены может содержать материальное препятствие. Изображения дополнительно содержат информацию о глубине для сцены. Сцена может быть задана полем обзора по меньшей мере одного датчика изображения или по меньшей мере одного датчика глубины. Предупреждение включает направление посредством процессоров пользователя обратно по направлению к центру сцены.
[0008] В соответствии с некоторыми вариантами осуществления способ дополнительно включает прием посредством процессора вторичных изображений сцены от одного или большего количества вторичных датчиков, расположенных вне сцены и не прикрепленных к установленному на голове дисплею. Определение того, что пользователь приближается к одному или большему количеству материальных препятствий, дополнительно основано по меньшей мере на указанных вторичных изображениях. В соответствии с некоторыми вариантами осуществления указанное одно или большее количество материальных препятствий находятся внутри сцены. В соответствии с некоторыми вариантами осуществления указанное одно или большее количество материальных препятствий содержат край сцены.
[0009] В соответствии с одним вариантом осуществления предоставлен способ. Способ включает выполнение игры. Это выполнение вызывает визуализацию интерактивных игровых сцен на дисплейной части установленного на голове дисплея, надетого на пользователя. Изменение положения HMD, надетого на пользователя, обнаруживают, в то время как пользователь взаимодействует с игрой. Изменение положения HMD оценивают. На основании это оценки, когда изменение превышает заранее заданное пороговое значение, генерируют сигнал. Когда сигнал сгенерирован, для прерывания интерактивных сцен, визуализируемых на дисплейной части HMD, отправляют данные. Данные, отправленные на HMD, обеспечивают описательный контекст для указанного сигнала.
[0010] В соответствии с другим вариантом осуществления раскрыт способ. Способ включает выполнение игры. Это выполнение вызывает визуализацию интерактивных сцен игры на дисплейной части установленного на голове дисплея (HMD), надетого на пользователя. Объем, окружающий HMD, надетый на пользователя, определяют с использованием, например, одной или большего количества координат в пространстве декартовых координат. Действия пользователя, носящего HMD, контролируют во время геймплея, или процесса, игры. Когда эти действия приводят к изменению положения HMD, надетого на пользователя, эти изменения оценивают. Оценка вызывает генерацию сигнала, когда указанное изменение превышает заранее заданное пороговое значение. Когда сигнал сгенерирован, для прерывания интерактивных сцен, визуализируемых на дисплейной части HMD, отправляют данные. Отправленные данные обеспечивают описательный контекст для указанного сигнала.
[0011] В соответствии с некоторыми вариантами осуществления регулировка контента включает постепенное снижение яркости интерактивных сцен игры, визуализированной на экране HMD, переход экрана HMD в полупрозрачный режим или прозрачный режим. Такой переход приводит к визуализации объекта реального мира из непосредственной близости к пользователь, носящему HMD. Изображение объекта реального мира может быть визуализировано на переднем плане, в то время как интерактивные сцены визуализированы на заднем плане, объект реального мира может быть визуализирован на заднем плане, в то время как интерактивные сцены визуализированы на переднем плане, объект реального мира может быть визуализирован на части дисплейного экрана HMD, при этом интерактивные сцены визуализированы на оставшейся части дисплейного экрана, или любая их комбинация.
[0012] В соответствии с некоторыми вариантами осуществления регулировка контента может быть в виде постепенного снижения яркости интерактивных сцен игры, визуализированных на дисплейной части HMD. Снижение яркости может быть более сильным по мере того, как пользователь становится ближе к краю сцены или объекту.
[0013] В соответствии с некоторыми вариантами осуществления в дополнение к указывающей регулировке контента сигнал может выпускать предупреждение для пользователя. Такое предупреждение может быть в виде звукового сообщения, отображаемого сообщения для визуализации на дисплейной части HMD или осязательного сообщения, такого как вибрация и т.д. на HMD. Предупреждение также включает перемещение посредством процессора по меньшей мере одного дисплей установленного на голове дисплея от глаз пользователя.
[0014] В соответствии с дополнительными вариантами осуществления операции способа хранятся на машиночитаемом носителе, содержащем инструкции, которые при исполнении одним или большим количеством процессоров выполняют указанные операции. В соответствии с еще одними дополнительными примерными вариантами осуществления аппаратные системы или устройства могут быть выполнены с возможностью выполнения изложенных операций. Другие признаки, примеры и варианты осуществления описаны ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0015] Варианты осуществления проиллюстрированы в качестве примера и не для ограничения на сопутствующих чертежах, на которых одинаковые ссылки указывают на аналогичные элементы, а также:
[0016] на фиг. 1 показана примерная сцена, подходящая для реализации различных аспектов настоящей технологии, в соответствии с вариантом осуществления изобретения.
[0017] На фиг. 2 показана примерная система, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0018] На фиг. 3 показана другая примерная система, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0019] На фиг. 4 показана еще одна примерная система, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0020] На фиг. 5 показана блок-схема процесса, показывающая способ предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0021] На фиг. 6 показано схематичное представление примерной машины в виде компьютерной системы, в которой выполняется набор инструкций для выполнения указанной машиной любой одной или большего количества методологий, обсуждаемых в настоящем документе.
[0022] На фиг. 7 изображены различные части примерного установленного на голове дисплея, надетого на пользователя, в соответствии с одним вариантом осуществления.
[0023] На фиг. 8 изображено отслеживание установленного на голове дисплея и контроллера, надетых на пользователя или удерживаемых им в руках, в соответствии с вариантом осуществления настоящего изобретения.
[0024] На фиг. 9 изображены различные модули, используемые в отслеживании установленного на голове дисплея и потока данных между установленным на голове дисплеем и клиентским устройством/облачным сервером, в соответствии с одним вариантом осуществления.
[0025] На фиг. 10 изображен примерный вариант осуществления для определения положения установленного на голове дисплея и/или контроллера, надетых на пользователя или удерживаемых им в руках.
[0026] На фиг. 10А-10С изображены примерные варианты осуществления для определения изменения поднятия установленного на голове дисплея, надетого на пользователя.
[0027] На фиг. 11А-11Е изображено отслеживание установленного на голове дисплея для идентификации задачи безопасности, в соответствии с вариантом осуществления настоящего изобретения. На фиг. 11F изображено отслеживание установленного на голове дисплея для идентификации другой задачи безопасности, в соответствии с альтернативным вариантом осуществления настоящего изобретения.
[0028] На фиг. 12 показана блок-схема процесса, показывающая способ регулировки контента, визуализированного на установленном на голове дисплее, в соответствии с альтернативным вариантом осуществления изобретения.
[0029] На фиг. 13 изображена полная системная архитектура игрового модуля в соответствии с одним вариантом осуществления настоящего изобретения.
[0030] На фиг. 14 изображена структурная схема игровой системы в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
[0031] Последующее подробное описание содержит ссылки на сопутствующие чертежи, которые формируют часть настоящего подробного описания. На чертежах показаны иллюстрации в соответствии с примерными вариантами осуществления. Эти примерные варианты осуществления, которые также в настоящем документе называются "примерами", описаны достаточно подробно для того, чтобы обеспечить специалистам в области техники возможность практиковать настоящий предмет изобретения. Варианты осуществления могут быть объединены, другие варианты осуществления могут быть использованы, или могут быть выполнены конструктивные, логические и электрические изменения без отклонения от сущности предмета изобретения. Следовательно, последующее подробное описание не следует принимать в ограничивающем смысле, а объем задан прилагаемой формулой изобретения и ее эквивалентами. В настоящем документе форма единственного числа использована, как принято в патентных документах, для содержания одного или более, чем одного. В настоящем документе термин "или" использован для ссылки на неисключительное "или", так что "А или В" содержит "А, но не В", "В, но не А" и "А и В", если не указано иное.
Техники вариантов осуществления, раскрытых в настоящем документе, могут быть реализованы с использованием различных технологий. Например, способы, описанные в настоящем документе, реализуются в программном обеспечении, выполняющемся на компьютерной системе, или аппаратном обеспечении, использующем комбинацию микропроцессоров или другие специально разработанные специализированные интегральные схемы (ASIC), программируемые логические устройства или различные их комбинации. В частности, способы, описанные в настоящем документе, реализуются посредством последовательности выполняемых компьютером инструкций, находящихся на носителе данных, таком как накопитель на дисках или читаемый с помощью компьютера носитель. Следует отметить, что способы, описанные в настоящем документе, могут быть реализованы посредством мобильного терминала, сотового телефона, смартфона, компьютера (например, настольного компьютера, планшетного компьютера, портативного компьютера), игровой консоли, ручного игрового устройства и т.д.
[0033] В общем, варианты осуществления настоящего изобретения предоставляют способы и системы для предупреждения пользователей установленных на голове дисплеев о приближении к краю сцены или перемещении за пределы поля обзора камеры, или когда они перемещаются по направлению к одному или большему количеству материальных препятствий. Определение того, что пользователи приближаются к краю поля обзора или препятствиям, выполняют на основании анализа изображений и/или данных глубины. Изображения и/или данные глубины могут быть получены от датчика (датчиков) изображения и/или датчика (датчиков) глубины, расположенных либо на установленном на голове дисплее, либо отдельно от пользователя и не соединенными со установленным на голове дисплеем, или комбинации того и другого. Предупреждение содержит звуковые сообщения, отображаемые или видимые сообщения, подсвечивание СИД, постепенного выцветания отображаемых изображений на закрепленном на голове дисплее, снижение яркости изображения, смешивания с видом реального мира, вызывание вибрации установленного на голове дисплея, вывод из взаимодействия установленного на голове дисплея или его частей или перемещение дисплея (дисплеев) установленного на голове дисплея от глаз пользователя таким образом, что пользователь может видеть реальный мир и препятствия, где он движется.
[0034] Термин "установленный на голове дисплей", как использован в настоящем документе, относится к одному или большему количеству из следующего: носимый компьютер, имеющий дисплей, установленное на голове электронное устройство, соединенный с головой дисплей, установленный на шлеме дисплей, установленный на голове компьютер с дисплеем. Установленное на голове устройство, которое надето на голову пользователя или которое является частью шлема, имеет небольшую дисплейную оптику перед одним (монокулярное дисплейное устройство) или каждым глазом (бинокулярное дисплейное устройство). Установленное на голове устройство имеет либо один, либо два небольших дисплея с линзами и полупрозрачными зеркалами, внедренными в шлем, очки (также известные как цифровые очки) или смотровой щиток. Дисплейные блоки могут быть миниатюризированы и могут содержать жидкокристаллический дисплей (ЖКД), дисплей на органических светодиодах (OLED, Organic Light-Emitting Diode). Некоторые поставщики применяют множественные микродисплеи для увеличения общего разрешения и поля обзора. Некоторые другие установленные на голове устройства не используют обычные дисплеи вообще, и вместо них проецируют световое излучение прямо на глаза пользователя.
[0035] Термин "датчик глубины", как использован в настоящем документе, относится к любому подходящему электронному устройству, выполненному с возможностью генерации карт глубины 3D пространства. Некоторые примеры чувствительных к глубине устройств содержат чувствительную к глубине камеру, стерео 3D камера, датчик глубины, видеокамера, выполненная с возможностью обработки изображений для генерации карт глубины, и т.д. Карты глубины могут обрабатываться посредством управляющего устройства для определения местоположения пользователя, присутствующего в 3D пространстве, а также частей его тела, включая голову, туловище и конечности. Термин "датчик изображения", как использован в настоящем документе, относится к любому подходящему электронному устройству, выполненному с возможностью генерации статических изображений или изображений движения 3D сцены. Некоторые примеры датчиков изображения содержат видеокамеру, фотокамеру, прибор с зарядовой связью (ПЗС) и т.д. Термин "поле обзора", как использован в настоящем документе, относится к протяженности 3D пространства, покрытого и "просматриваемого" датчиком изображения и/или датчиком глубины.
[0036] Термин "управляющее устройство", как использован в настоящем документе, относится к любому подходящему вычислительному устройству или системе, выполненным с обработки данных, изображений, карт глубины, пользовательского ввода и т.д.. Некоторые примеры управляющего устройства содержат настольный компьютер, портативный компьютер, планшетный компьютер, игровую консоль, звуковую систему, видеосистему, сотовый телефон, смартфон, компьютерную приставку к телевизору, телевизионный приемник и т.д. В соответствии с некоторыми вариантами осуществления по меньшей мере некоторые элементы управляющего устройства включены в дисплейное устройство (например, в виде носимого на голове компьютера). Управляющее устройство может находиться в беспроводной или проводной связи с датчиком глубины/датчиком изображения и установленным на голове дисплеем. Управляющее устройство также отвечает за генерацию изображений, отображаемых дополнительно на установленном на голове дисплее (например, генерирует виртуальную реальность). В соответствии с некоторыми вариантами осуществления термин "управляющее устройство" относится к "вычислительному устройству", "обрабатывающему средству" или только "процессору".
[0037] В соответствии с вариантами осуществления настоящего изобретения установленный на голове дисплей может быть надет на пользователя в частном 3D пространстве, таком как жилая комната здания. Пользователь может присутствовать перед датчиком глубины/датчиком изображения, который отслеживает движения пользователя. Управляющее устройство обрабатывает данные, принятые от датчика глубины/датчика изображения и, как результат обработки, управляющее устройство идентифицирует пользователя, движения/жесты пользователя и координаты отслеживания виртуального скелета в 3D пространстве.
[0038] Теперь со ссылкой на чертежи, на фиг. 1 показана примерная сцена 100, подходящая для реализации различных аспектов настоящей технологии, в соответствии с вариантом осуществления изобретения.
[0039] В частности, здесь показан пользователь 105, носящий установленный на голове дисплей 110. Пользователь 105 присутствует в 3D пространстве, находясь перед управляющим устройством 115, которое содержит датчик глубины/ датчик изображения таким образом, что пользователь 105 может быть легко отслежен. Управляющее устройство 115 соединено с игровым устройством или игровой консолью 120 или является его частью и также может находиться в функциональной связи с установленным на голове дисплеем 110 и некоторыми периферийными устройствами, такими как телевизионный дисплей 130, звуковая система и т.д.
[0040] Для того, чтобы отслеживаться управляющим устройством 115, пользователь 105 должен присутствовать внутри поля обзора датчика глубины и/или датчика изображения управляющего устройства 115, область которого также называется в настоящем документе "сценой" 135. Если пользователь 105 выходит из сцены 135, он не будет отслеживаться, и, таким образом, его взаимодействие с управляющим устройством 115 прерывается. В соответствии с альтернативным вариантом осуществления пользователь 105 может перемещаться по направлению к материальному препятствию 140, такому как стол, стул, игрушка и т.д. Поскольку пользователь 105 не может видеть реальный мир или имеет сокращенный обзор реального мира, в то время как носит установленный на голове дисплей 110, он может удариться о препятствие 140 и получить травму. Соответственно, настоящая технология направлена на предупреждение пользователя 105, если он приближается к краю сцены 135 или одному или большему количеству препятствий 140.
[0041] На фиг. 2 показана примерная система 200, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0042] Как показано на фиг. 2, система 200 содержит установленный на голове дисплей 110 и управляющее устройство 115. Установленный на голове дисплей содержит один или большее количество дисплеев 250, модуль 260 связи и, опционально, запускающее устройство 270.
[0043] В соответствии с некоторыми вариантами осуществления дисплей 250 расположен перед одним или двумя глазами пользователя. Дисплей 250 выполнен с возможностью симуляции виртуальной реальности, включая видеоигры, спортивные тренировки, развлекательные приложения и т.д. В соответствии с одним примерным вариантом дисплей 250 выполнен с возможностью визуализации трехмерных (3D) виртуальных игровых миров. Пользователь способен изменять отображаемый вид в виртуальном мире посредством поворота головы.
[0044] В соответствии с некоторыми примерными вариантами осуществления модуль 260 связи выполнен с возможностью осуществления функциональной связи с управляющим устройством 115 и некоторыми другими периферийными устройствами, такими как телевизионный дисплей 130, звуковая система и т.д.
[0045] В соответствии с некоторыми примерными вариантами осуществления запускающее устройство 270 выполнено с возможностью запуска предупреждающего сигнала, отправленного управляющим устройством 115 на установленный на голове дисплей. Например, запускающее устройство 270 может инициировать отображение отображаемого устройства на дисплее 250 или снижение яркости изображений, отображаемых установленным на голове дисплеем пользователю. В соответствии с одним примерным вариантом осуществления запускающее устройство 270 останавливает отображение изображений установленным на голове устройством. В соответствии с другим примерным вариантом осуществления запускающее устройство 270 перемещает по меньшей мере один дисплей 250 установленного на голове дисплея 110 от глаз пользователя.
[0046] В соответствии с некоторыми вариантами осуществления управляющее устройство 115 содержит модуль 210 связи, вычислительный блок 220, датчик 230 глубины и датчик 240 изображения. Модуль 210 связи выполнен с возможностью осуществления функциональной связи с модулем 260 связи установленного на голове дисплея 110 и другими периферийными устройствами, такими как телевизионный дисплей 130, звуковая система и т.д.
[0047] В соответствии с некоторыми вариантами осуществления модуль 210 связи выполнен с возможностью передачи изображений сцены, захваченных, датчиком 230 глубины и/или датчиком 240 изображения на вычислительный блок 220.. В соответствии с некоторыми вариантами осуществления вычислительный блок 220 выполнен с возможностью обработки изображений сцены, принятых от датчика 230 глубины и/или датчика 240 изображения, отслеживания местоположения пользователя на основании принятых изображений и определения, что пользователь приближается к краю сцены. Вычислительный блок 220 дополнительно выполнен с возможностью отправки предупреждающих сообщений на установленный на голове дисплей 110 о близости края сцены.
[0048] В соответствии с некоторыми вариантами осуществления вычислительный блок 220 отправляет запускающие сигналы на запускающее устройство 270 на основании обработанных изображений сцены. В соответствии с некоторыми вариантами осуществления датчик 230 глубины захватывает видеоданные в 3D при любых окружающих световых условиях. Диапазон восприятия датчика 230 глубины является регулируемым и автоматически калибруется на основании физической окружающей среды на основании наличия или отсутствия мебели или других препятствий.
[0049] В соответствии с некоторыми вариантами осуществления датчик 240 изображения является устройством, которое преобразовывает оптическое изображение в электронный сигнал. Датчик 240 изображения может содержать, например, одну или большее количество видеокамер, которые чувствительны к видимому диапазону, ИК камеры, чувствительные к ИК диапазону, УФ камеры и другие прямые и непрямые генерирующие изображения системы датчиков, например, радар или лазерный радар. Изображения от датчика 230 глубины и датчика 240 изображения могут быть объединены посредством слияния данных и отображены пользователю.
[0050] На фиг. 3 показана другая примерная система 300, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения. Система 300 аналогична системе 200, показанной на фиг. 2, за исключением того, что датчик 280 глубины и датчик 290 изображения прикреплены к установленному на голове дисплею 110.
[0051] На фиг. 4 показана еще одна примерная система 400, подходящая для использования способов для предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения. Система 400 аналогична системе 200, показанной на фиг. 2, за исключением того, что установленный на голове дисплей 110 содержит как датчик 280 глубины, так и датчик 290 изображения, и управляющее устройство 115 как датчик 230 глубины, так и датчик 240 изображения.
[0052] На фиг. 5 показана блок-схема процесса, показывающая способ 500 предостережения пользователя установленного на голове дисплея, в соответствии с вариантом осуществления изобретения.
[0053] Способ 500 выполняют посредством обрабатывающей логики, которая содержит аппаратное обеспечение (например, специализированная логика, программируемая логика и микрокод), программное обеспечение (такое как программное обеспечение, запускаемое на компьютерной системе общего назначения или специализированной машине) или комбинации и того, и другого. В соответствии с одним примерным вариантом осуществления обрабатывающая логика находится на установленном на голове дисплее. В соответствии с другим примерным вариантом осуществления обрабатывающая логика находится на управляющем устройстве. В соответствии с еще одним примерным вариантом осуществления обрабатывающая логика находится как на установленном на голове дисплее, так и на управляющем устройстве.
[0054] Как показано на фиг. 5, способ 500 может начинаться на операции 510 с приема изображений и/или данных глубины сцены, в которой присутствует пользователь, использующий установленный на голове дисплей. Сцена содержит заранее определенную трехмерную область. Изображения сцены захватываются одним или большим количеством датчиков, например датчиком изображения или датчиком глубины. Таким образом, сцена может быть задана полем обзора указанного одного или большего количества датчиков. Указанный один или большее количество датчиков может быть соединено со установленным на голове дисплеем. Установленный на голове дисплей является носимым компьютером с дисплеем, установленным на голове электронным устройством, соединенным с головой дисплеем, установленным на шлеме дисплеем и т.д. В соответствии с альтернативным вариантом осуществления указанный один или большее количество датчиков соединено с управляющим устройством.
[0055] Способ 500 в операции 520 переходит к отслеживанию информации о местоположении пользователя на основании по меньшей мере частично изображений и/или данных глубины сцены, принятых от указанного одного или большего количества датчиков. Далее в операции 530 способ 500 переходит к динамическому определению того, что пользователь приближается к краю сцены. Это определение основано по меньшей мере частично на отслеживании, выполненном в операции 520. В соответствии с одним примерным вариантом осуществления край сцены содержит одно или большее количество материальных препятствий, таких как кофейный столик, стул и т.д.
[0056] В операции 540 пользователя предупреждают, что он приближается к краю сцены, на основании определения, выполненного в операции 530. Такое предупреждение может содержать звуковое сообщение, видимое сообщение, включение светоизлучающих диодов, постепенное выцветание изображений, отображенных на закрепленном на голове дисплее, смешивание отображенных изображений с видом реального мира, вибрацию установленного на голове дисплея, вывод из взаимодействия установленного на голове дисплея или его частей или перемещение установленного на голове дисплея от глаз пользователя и т.д.
[0057] В соответствии с одним примерным вариантом осуществления способ 500 дополнительно включает прием вторичных изображений сцены от одного или большего количества вторичных датчиков. Указанный один или большее количество вторичных датчиков соединено с управляющим устройством. В соответствии с некоторыми вариантами осуществления указанный один или большее количество вторичных датчиков отслеживают местоположение пользователя по меньшей мере частично на основании вторичных изображений сцены. Если пользователь продолжает перемещаться в направлении края сцены, на основании вторичных изображений на установленный на голове дисплей может быть обеспечены дополнительные предупреждения. В соответствии с альтернативным вариантом осуществления, если пользователь прекращает перемещаться в направлении края сены и перемещается по направлению к центру сцены, изображения, отображаемые на установленном на голове дисплее, постепенно фокусируются, или установленный на голове дисплей или его части повторно входят во взаимодействие, установленные на голове дисплей перемещается к глазам пользователя и т.д.
[0058] На фиг. 6 показано схематичное представление вычислительного устройства для машины в примерном электронном виде компьютерной системы 600, в которой может быть выполнен набор инструкций для побуждения указанной машины выполнять любую одну или большее количество методологий, обсуждаемых в настоящем документе. В соответствии с примерными вариантами осуществления указанная машина работает, как отдельное устройство, или она может быть соединена (например, по сети) с другими машинами. В сетевом расположении машина может работать в качестве сервера, клиентской машины в сетевой среде клиент-сервер или как одноранговая машина в одноранговой (или распределенной) сетевой среде. Машина может являться персональным компьютером (ПК), планшетным ПК, компьютерной приставкой к телевизору, КПК, сотовым телефоном, портативным музыкальным проигрывателем (например, портативным звуковым устройством на жестком магнитном диске, таком как проигрыватель формата МР3 (Moving Picture Experts Group Audio Layer 3, кодек третьего уровня, разработанный командой MPEG)), веб устройством, сетевым роутером, коммутатором, мостом или любой машиной, выполненной с возможностью выполнения набора инструкций (последовательно или иначе), которые указывают действия, подлежащие выполнению этой машиной. Кроме того, хотя изображена только одна машина, термин "машина" следует также принимать, как содержащий любую совокупность машин, которые отдельно или совместно выполняют набор (или множество наборов) инструкций для выполнения любой одной или большего количества методологий, обсуждаемых в настоящем документе.
[0059] Примерная компьютерная система 600 содержит процессор или множество процессоров 605 (например, центральный процессор (ЦП), графический процессор (ГП) или оба) и основное запоминающее устройство 610 и статическое запоминающее устройство 615, которые осуществляют связь друг с другом по шине 620. Компьютерная система 600 дополнительно может содержать видеодисплей 625 (например, ЖКД или электронно-лучевую трубку (ЭЛТ)). Компьютерная система 600 также содержит по меньшей мере одно устройство 630 ввода, такое как буквенно-цифровое устройство ввода (например, клавиатура), устройство управления курсором (например, манипулятор типа "мышь), микрофон, цифровую камеру, видеокамеру и т.д. Компьютерная система 600 также содержит накопитель 635 на дисках, устройство 640 генерации сигнала (например, динамик) и устройство 645 сетевого интерфейса.
[0060] Накопитель 635 на дисках содержит читаемый с помощью компьютера носитель 650, который хранит один или большее количество наборов инструкций и структур данных (например, инструкции 655), воплощающие любую одну или большее количество из методологий или функций, описанных в настоящем документе, или используемых ими. Инструкции 655 также могут находиться, полностью или по меньшей мере частично, в основном запоминающем устройстве 610 и/или в процессорах 605 во время их выполнения компьютерной системой 600. Основное запоминающее устройство 610 и процессоры 605 также составляют машиночитаемый носитель.
[0061] Инструкции 655 дополнительно могут быть переданы или приняты по сети 660 связи через устройство 645 сетевого интерфейса, используя любой из ряда известных протоколов передачи (например, протокол передачи гипертекста (HTTP, Hyper Text Transfer Protocol, протокол CAN (Controller Area Network, сеть контроллеров), последовательный протокол и протокол Modbus). Сеть 660 связи содержит сеть Интернет, локальную сеть интранет, персональную сеть (PAN, Personal Area Network), ЛВС (локальную вычислительную сеть), ГВС (глобальную вычислительную сеть), городскую вычислительную сеть (MAN, Metropolitan Area Network), виртуальную частную сеть (ВЧС), сеть хранения данных (SAN, storage area network), соединение типа frame relay (ретрансляция кадров), соединение усовершенствованной интеллектуальной сети (AIN, Advanced Intelligent Network), соединение синхронной оптической сети (SONET, synchronous optical network), цифровую линию Т1, Т3, E1 или Е3, соединение службы передачи цифровых данных (DDS, Digital Data Service), соединение цифровой абонентской линии (DSL, Digital Subscriber Line), соединение сети Ethernet, линию цифровой сети с интегрированными услугами (ISDN, (Integrated Services Digital Network), кабельный модем, соединение асинхронного режима передачи (ATM, Asynchronous Transfer Mode) или соединение интерфейса передачи данных по ВОС (FDDI, Fiber Distributed Data Interface) или интерфейса передачи данных по медному кабелю (CDDI, Copper Distributed Data Interface). Кроме того, средства связи также содержат линии связи с любой из различных беспроводных сетей, включая WAP (Wireless Application Protocol, протокол приложений для беспроводной связи), GPRS (General Packet Radio Service, пакетная радиосвязь общего назначения), GSM (Global System for Mobile Communication, глобальная система мобильной связи), CDMA (Code Division Multiple Access, множественный доступ с кодовым разделением каналов) или TDMA (Time Division Multiple Access, множественный доступ с временным разделением каналов), сотовые телефонные сети, глобальную систему позиционирования (GPS, Global Positioning System), CDPD (cellular digital packet data, пактеная передача данных по сети сотовой связи), дуплексную пейджинговую сеть RIM (Research in Motion, Limited), радиосвязь системы Bluetooth или радиочастотная сеть на основе стандарта IEEE 802.11.
[0062] Хотя машиночитаемый носитель 650 в примерном варианте осуществления показан в виде одного носителя, термин " читаемый с помощью компьютера носитель" следует принимать, как содержащий один носитель или множественные носители (например, централизованную или распределенную базу данных и/или связанные кэши и серверы), которые хранят указанный один или большее количество наборов инструкций. Термин "читаемый с помощью компьютера носитель" также следует принимать, как содержащий любой носитель, который выполнен с возможностью хранения, шифровки или переноса набора инструкций для выполнения машиной и который побуждает указанную машину выполнять любую одну или большее количество методологий настоящей заявки, или который выполнен с возможностью хранения, шифровки или переноса структур данных, используемых таким набором инструкций или связанных с ним. Соответственно, термин "читаемый с помощью компьютера носитель" следует принимать, как содержащий среди прочего твердотельную память, оптические и магнитные носители. Такие носители также могут содержать среди прочего жесткие диски, гибкие диски, карты флэш-памяти, цифровые видеодиски, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ) и т.д.
[0063] Примерные варианты осуществления, описанные в настоящем документе, могут быть реализованы в рабочей среде, содержащей выполняемые компьютером инструкции (например, программное обеспечение), установленные на компьютер, в аппаратном обеспечении или в комбинации программного и аппаратного обеспечения. Выполняемые компьютером инструкции могут быть написаны на языке компьютерного программирования или могут быть внедрены в микропрограммную логику. Если написаны на языке программирования, соответствующем признанным стандартам, такие инструкции могут быть выполнены на различных аппаратных платформах и для интерфейсов с различными операционными системами. Хотя этим не ограничено, компьютерные программы пакета программного обеспечения для реализации настоящего способа могут быть написаны на любом количестве подходящих языков программирования, таких как, например, язык разметки гипертекста (HTML, Hypertext Markup Language), динамический HTML, XML (Extensible Markup Language, расширяемый язык разметки),расширяемый язык таблиц стилей (XSL, Extensible Stylesheet Language), язык спецификации и семантики стиля документа (DSSSL, Document Style Semantics and Specification Language), каскадные таблицы стилей (CSS, Cascading Style Sheets), язык интеграции синхронизированных мультимедийных данных (SMIL, Synchronized Multimedia Integration Language), язык разметки гипертекста для беспроводной связи (WML, Wireless Markup Language), языки JavaTM, JiniTM, С, С++, C#,.NET, Adobe Flash, Perl, UNIX Shell, Visual Basic или Visual Basic Script, язык маркировки собфтий виртуальной реальности (VRML, Virtual Reality Markup Language), язык ColdFusionTM или другие компиляторы, ассемблеры, интерпретаторы или другие компьютерные языки или платформы.
[0064] На фиг. 7 изображены общее представление примерного установленного на голове дисплея, используемого пользователем для просмотра и/или взаимодействие с мультимедийным контентом. В одном примере, HMD, надетый на пользователя, обеспечивает пользователю возможность просмотра обогащенного мультимедийного контента, включая интерактивные сцены из видеоигр, сцены из кинофильмов, контент сети Интернет и другие типы интерактивного и неинтерактивного контента. Отслеживание положения, включая ориентацию, местоположение, направление и т.д. HMD, обеспечено посредством отслеживания множества маркерных элементов, таких как светоизлучающих диодов, инфракрасных маркеров, видимых маркерных элементов и т.д., распределенных по различным внешним поверхностям HMD, используя комбинацию датчиков или на основании одной или большего количества переменных, используемых для задания объема, окружающего HMD. Некоторые из датчиков, используемых для отслеживания, содержат среди прочего инерциальные датчики в HMD, которые обеспечивают возможность отслеживания перемещения HMD, один или большее количество датчиков изображения и один или большее количество датчиков глубины, причем датчики изображения и датчики глубины обеспечивают возможность оптического отслеживания. Отслеживание с использованием инерциальных датчиков может быть обеспечено с использованием одного или большего количества акселерометров и одного или большего количества гироскопов, которые расположены в HMD. Датчики изображения могут содержать одну или большее количество однолинзовых камер, ИК камер, стереокамер и т.д., а датчики глубины могут содержать одну или большее количество чувствительных к глубине камер, ультразвуковых камер, трехмерных (3D) стереокамер, видеокамер и т.д. Датчики изображения и датчики глубины охватывают одну или большее количество камер, обеспеченных в HMD, а также внешние камеры, которые рассеяны в сцене реального мира пользователя, носящего HMD. Датчики изображения и/или датчики глубины в HMD, например, используются для захвата изображений/видеоизображений объектов/сцен реального мира в непосредственной близости к пользователю из ракурса пользователя, носящего HMD. Захваченные изображения/видеоизображения могут быть визуализированы на дисплейной части HMD при регулировке контента, как будет дополнительно объяснено ниже.
[0065] Датчики изображения и/или датчики глубины, распределенные снаружи в пределах сцены пользователя, например, выполнены с возможностью захвата изображений/видеоизображений различных маркеров, светоизлучающих диодов (СИД), инфракрасных маркеров и т.д., распределенных по внешней поверхности HMD 110. В соответствии с одним вариантом осуществления указанные изображения/видеоизображения передают на клиентскую систему, где изображения/видеокадры анализируют для точного определения местоположения HMD. Кроме того, изображения/видеоизображения анализируют в HMD для определения местоположения, ориентации, направления HMD со ссылкой на другие объекты в сцене реального мира. В одной конфигурации HMD содержит СИД (например, представленными кружками 2, 4 и 6), расположенными в стратегических местоположениях на одной или большем количестве внешних поверхностей HMD. Например, СИД могут быть расположены на четырех углах переднего блока 110а (например, также называемого в настоящем документе как блок оптики) HMD и два на тыльной/задней секции 110b HMD 110. Задняя секция 110b расположена на блоке регулируемой ленты. HMD может также содержать другие поверхности, такие как 110с и 110d для обеспечения пользователю возможности безопасного и надежного использования HMD на голове пользователя. В соответствии с некоторыми вариантами осуществления передние СИД выполнены с возможностью частичного расположения на передней поверхности, частичного расположения на боковых поверхностях, которые расположены на каждой стороне указанной передней поверхности, для задания частичной L-образной формы, искривленной L-образной формы, формы бумеранга, искривленного прямоугольника, искривленной линии, пятна, окружности, узора или их комбинаций. Указанные маркеры не ограничены до СИД, но также могут содержать осветители, инфракрасные маркеры, маркеры с цветовой маркировкой, отражающие маркеры и т.д. Анализ изображений/видеокадров используют для вычисления относительного расстояния различных маркеров HMD друг от друга и от одной или большего количества опорных точек. Вычисленные расстояния используют для определения объема вокруг HMD, и изменения объема во время использования для более точного задания положения HMD. Кроме того, видеокадры/изображения, захваченные различными датчиками, анализируют для определения положения, включая ориентацию, местоположение, направление перемещения различных маркеров для более точного определения направления перемещения или положения пользователя, носящего HMD. Следует отметить, что объем, окружающий HMD, может оставаться одинаковым, хотя местоположение, ориентация и направление различных маркеров может изменяться во время использования, например, когда пользователь, носящий HMD, крутиться вокруг. Анализ видеокадров/изображений обеспечит более точное измерение местоположения, направления и ориентации HMD. В качестве меры предосторожности анализируют перемещение HMD. Когда это перемещение превышает некоторое заранее заданное пороговое значение, или определяется, как опасное (например, пользователь падает назад), могут генерировать сигнал для вызывания прерывания интерактивных сцен, визуализируемых в настоящее время на дисплейном экране HMD. В соответствии с альтернативным вариантом осуществления для сигнализации пользователю, что он может перемещаться опасным образом, могут генерировать некоторые другие вилы предупреждения.
[0066] HMD выполнен с возможностью обеспечения обзора интерактивной сцены видеоигры, например, на дисплейной части HMD. Пользователь, носящий HMD, будет способен перемещать свою голову в любом направлении для обзора других частей интерактивной сцены и обеспечения ввода для перемещения вокруг визуализированной интерактивной сцены на основании перемещения головы пользователя. В соответствии с одним вариантом осуществления виртуальную интерактивную сцену визуализируют в обогащенном трехмерном (3D) формате. В одной конфигурации HMD выполнен с возможностью осуществления связи с клиентской компьютерной системой 106, которая визуализирует контент, представленный для HMD. В другой конфигурации контент (например, игра, кинофильм, видеоизображение, звуковой материал, изображения, мультимедиа и т.д.) могут передавать потоком от удаленного сервера или серверов на HMD, используя облачную игровую инфраструктуру 112. В некоторых примерах контент от удаленного сервера (серверов) загружают на клиентскую систему, а затем передают на HMD для визуализации. В других примерах контент передают потоком прямо от удаленного сервера (серверов) на HMD для визуализации.
[0067] Когда пользователь, носящий HMD, стоит лицом перед камерой датчика изображения/глубины, эта камера должна быть выполнена с возможностью обзора всех СИД и/или маркеров, расположенных на передней поверхности HMD 110. В соответствии с альтернативным вариантом осуществления камера должна быть выполнена с возможностью отслеживания по меньшей мере одного СИД и/или маркера, расположенного на передней поверхности HMD 110. К геометрической модели HMD, доступной на клиентской системе, например, может быть осуществлен доступ посредством программ, таких как игра или другие программы, выполняющихся на этой клиентской системе, для определения глубины (относительно камеры) и ориентации головы пользователя при ношении HMD. Например, четыре СИД, расположенные на углах (например, образующие прямоугольную форму) передней поверхности HMD, и два СИД, расположенные на задней поверхности HMD, могут быть отслежены посредством захвата изображений/видеокадров для определения, если пользователь смотрит вниз, вверх и по сторонам. Другие маркерные элементы, в дополнение к СИД или вместо них, расположенные по различным внешним поверхностям HMD, также могут быть использованы для определения ориентации, направления, местоположения и т.д. HMD, надетого на пользователя, на основании действий пользователя в виде перемещения головы.
[0068] На фиг. 8 изображен пример пользователя, носящего HMD 110, во время использования в соответствии с вариантом осуществления настоящего изобретения. В этом примере положение HMD отслеживают с использованием данных 802 изображения, извлеченных из изображений/видеокадров, захваченных камерой 108. В соответствии с некоторыми вариантами осуществления в дополнение к отслеживанию положения HMD также может отслеживаться контроллер, удерживаемый пользователем и используемый для обеспечения ввода для контента, визуализируемого на HMD. Как показано на фиг.8, контроллер отслеживают, используя данные 804 изображения, извлеченные из захваченных камерой 108 видеокадров. На фиг. 8 показана примерная конфигурация, где HMD соединен с вычислительной системой (т.е., клиентским устройством) 106 через кабель 806. Кабель 806 выполнен с возможностью передачи обогащенных мультимедийных данных и сигналов между HMD и клиентской вычислительной системой 106. В соответствии с одним вариантом осуществления HMD получает питание через кабель 806. В соответствии с альтернативным вариантом осуществления питание для HMD может быть получено через другой кабель, соединенный с источником питания. В соответствии с еще одним вариантом осуществления HMD может иметь перезаряжаемую батарею для того, чтобы избегать излишних шнуров питания.
[0069] На фиг. 9 показан вариант осуществления системы, которая используется для обеспечения предупреждения пользователя (или игрока), когда этот пользователь приближается к объекту реального мира, краю сцены, входит в игровую зону другого игрока или поворачивается/перемещается от клиентского устройства, на основании действий пользователя, в то же время наблюдающего интерактивные сцены на дисплейной части HMD. Система также может быть использована для регулировки контента, визуализируемого на дисплейной части HMD, на основании действий пользователя. Вариант осуществления, показанный на фиг. 9, иллюстрирует двух игроков, взаимодействующих с интерактивным геймплеем видеоигры. Интерактивные сцены из этой видеоигры визуализируются на дисплейной части соответствующих HMD этих двух игроков. Интерактивные сцены для видеоигры обеспечиваются клиентским устройством, таким как игровая консоль (не показана на фиг. 9), где указанная игра выполняется или загружается от игрового сервера 204 (где эта игра выполняется) через сеть 202 на игровую консоль и визуализируется на HMD. В соответствии с альтернативным вариантом осуществления интерактивные сцены могут передаваться потоком от игрового сервера 204 через сеть 202 на HMD 110'. Интерактивные сцены визуализируются на дисплейной части соответствующих HMD.
[0070] Положение HMD и контроллеров, удерживаемых игроками, отслеживается посредством одного или большего количества датчиков изображения, инерциальных датчиков и/или датчиков глубины. Изображения/видеоизображения захватывают движения соответствующего игрока, такие как перемещения руки (рук), оперирующей контроллером, изменение положения, включая местоположение, направление и ориентацию, HMD и/или контроллера. Захваченные изображения/видеокадры анализируют для обнаружения положения HMD и/или контроллера каждого игрока посредством определения местоположения различных маркеров, таких как маркеры, заданные СИД (1, 2, 3, 4 (не показан), 5 и 6) на каждом HMD. В соответствии с одним вариантом осуществления процессор в клиентском устройстве, таком как игровая консоль 106, принимает захваченные изображения/видеокадры маркеров, расположенных на каждом HMD, и анализирует контент, захваченный в них, для идентификации положения HMD на основании захваченных изображений/видеокадров маркеров, расположенных на соответствующих HMD. Для правильного определения положения контроллера также может проводиться аналогичный анализ маркеров, расположенных на указанном контроллере. В соответствии с некоторыми вариантами осуществления процессор в каждом HMD может быть использован для обеспечения дополнительных данных, относящихся к перемещению соответствующих HMD независимо и в отношении друг друга. Соответственно, процессор HMD собирает данные изображений/видеоизображений и передает их на клиентское устройство 106, где выполняется анализ. В соответствии с некоторыми вариантами осуществления относительное положение первого HMD по отношению ко второму HMD также могут аналогичным способом вычислять посредством получения и анализа изображений/видеокадров маркеров на другом HMD и вычисление относительного положения HMD, надетого на первого игрока, по отношению к HMD, надетом на второго игрока. На основании указанных изображений/видеокадров может быть установлена игровая зона каждого игрока А и В, как показано на фиг. 9.
[0071] Клиентское устройство 106 (в некоторых вариантах осуществления указываемое также посредством ссылочного обозначения 120 (фиг. 1)) содержит множество модулей, которые используются для анализа данных в изображениях/видеокадрах, захваченных различными датчиками, идентификации надлежащего контента, подлежащего визуализации на дисплейной части HMD, и передачи указанного надлежащего контента на HMD. Например, модуль 905 обработки данных HMD в клиентском устройстве 106 используется для анализа изображений/видеокадров, принятых от различных датчиков, и определения положения HMD, надетого на пользователя, и/или контроллера, удерживаемого пользователем. Информацию анализа от модуля 905 обработки данных HMD используют совместно с модулем 906 обработки предупреждений в клиентском устройстве 106. В соответствии с одним вариантом осуществления информация из анализа может идентифицировать близость игрока к объекту реального мира, близость игрока к краю сцены, близость игрока к другому игроку и т.д. Например, в примере, показанном на фиг.9, во время взаимодействия с видеоигрой игрок А может вторгаться в игровую зону игрока В или наоборот. В этом случае, различные изображение/видеоизображения этих двух игроков, захваченных датчиками, распределенными в соответствующих HMD и на всем протяжении сцены реального мира двух игроков, анализируют для определения протяженности вторжения игрока А в игровую зону игрока В или наоборот. В зависимости от действий игроков в видеоигре, такое вторжение может приводить к тому, что первый игрок потенциально причинит вред второму игроку и наоборот. Для предотвращения вреда для игроков и обеспечения безопасного игрового события, информация анализа изображений/видеокадров может быть использована модулем 906 обработки предупреждений для генерации сигнала для предупреждения соответствующих игроков.
[0072] В дополнение к модулю анализа HMD, анализирующему информацию изображений/видеоизображений, модуль 901 игровой логики также может анализировать указанные изображения/видеоизображения и совместно использовать информацию этого анализа с модулем 902 запуска игровых действий. В этом случае, модуль 905 обработки данных HMD совместно использует информацию изображений/видеоизображений с модулем 901 игровой логики. Анализ модуля игровой логики может быть характерным в отношении видеоигры, выполняющейся в настоящее время, и может быть выполнен в отношении игрового контекста. Например, модуль игровой логики может анализировать изображения/видеокадры, принятые на клиентском устройстве, в отношении контекста игровой интенсивности. Информация от модуля 901 игровой логики может быть использована модулем 902 запуска игровых действий для инициации надлежащего запускающего действия, характерного для игры. Запускающее действие, характерное для игры, может содержать флаг, идентифицирующий то, что она является игрой с высокой интенсивностью или игрой с низкой интенсивностью. Запускающее действие, характерное для игры, может быть обеспечено на модуль 906 обработки предупреждений для генерации надлежащего предупреждающего сигнала для передачи на HMD.
[0073] В соответствии с одним вариантом осуществления изображения/ видеокадры, захваченные различными датчиками, передают на игровой сервер 204 по сети 202, где анализируют указанные изображения/ видеокадры, а проанализированные данные передают на модуль 901 игровой логики для совместного использования с модулем 902 запуска игровых действий. На основании этих проанализированных данных модуль 902 запуска игровых действий определяет, запуск какого действия инициировать.
[0074] В дополнение к анализу, характерному для игры, выполняемому модулем 901 игровой логики, для анализа изображений/ видеокадров, принятых от модуля обработки данных HMD, для обеспечения запуска действия, характерного для системы, также могут использовать модуль 903 обработки системных данных. Например, модуль 903 обработки системных данных может анализировать изображения/видеокадры в контексте системных установок и обеспечивать надлежащие данные на модуль 904 запуска системного действия. Модуль 904 запуска системного действия определяет, запуск какого действия инициировать. Данные от модуля 904 запуска системного действия также передают на модуль 906 обработки предупреждений. Модуль 906 обработки предупреждений принимает запуски действий, характерных для игры, и запуски действий, характерных для системы, а также данные от модуля 905 обработки данных HMD и генерирует предупреждающий сигнал для процессора HMD. Предупреждающий сигнал, сгенерированный модулем 906 обработки предупреждений, передают через модуль 905 обработки данных HMD на HMD. В модуле 905 обработки данных HMD указанный сигнал используют для определения, нужно ли выполнить какую-либо регулировку контента на дисплейной части HMD игрока А или игрока В или их обоих. Если необходимо выполнить какую-либо регулировку контента, модуль 905 обработки данных HMD передаст надлежащие данные контента для прерывания интерактивных сцен, которые визуализируются на дисплейной части HMD. В соответствии с некоторыми вариантами осуществления надлежащие данные контента могут передавать предупреждение игроку, носящему HMD. Указанное предупреждение может быть для информирования игрока о состоянии (severity) окружающей среды реального мира, обнаруженном вблизи этого игрока, на основании перемещения HMD, надетого на указанного пользователя. В соответствии с некоторыми вариантами осуществления это предупреждение может информировать игрока о затрудненности безопасного состояния окружающей среды реального мира, обнаруженного вблизи этого игрока, на основании перемещения HMD, надетого на указанного пользователя. Например, если игрок А перемещается в игровую зону игрока В, тогда предупреждающий сигнал может быть направлен на HMD игрока А для того, чтобы позволить игроку А знать о том, что он/она вторгается в игровую зону игрока В. Такое предупреждение может быть в виде текстового предупреждения, которое визуализируется на дисплейной части HMD игрока А, как показано на фиг. 9, тогда как HMD игрока В будет продолжать визуализировать интерактивные сцены видеоигры. В соответствии с одним вариантом осуществления в зависимости то интенсивности видеоигры текстовое предупреждение может быть визуализировано на HMD игрока А на переднем плане, в то время как интерактивные сцены видеоигру продолжат визуализироваться на заднем плане. В соответствии с этим вариантом осуществления уровень яркости этих интерактивных сцен может быть снижен, а текстовое предупреждение представлено ярко. В одном примере, указанное снижение яркости выполняют постепенно в зависимости от интенсивности игры для того, чтобы избегать дезориентации игрока. В дополнение к текстовому предупреждению или вместо него, предупреждение может быть обеспечено в осязательном формате, аудио формате и т.д.
[0075] На фиг. 10 изображен примерный вариант осуществления для определения положения HMD и/или контроллера. В этом варианте осуществления для определения объема вокруг HMD, надетого на пользователя, и/или вокруг контроллера, удерживаемого пользователем, используют указанный один или большее количество датчиков изображения и/или датчиков глубины. Объем вокруг HMD, например, может быть определен с использованием датчика 108 глубины, такого как стереокамера, который отслеживает местоположение различных маркерных элементов, расположенных на внешней поверхности HMD, надетого на пользователя, в изображениях/видеоизображениях и связывает аспект глубины с этими изображениями/видеоизображениями. Аналогичным образом также может быть определен объем вокруг контроллера. Как показано на фиг.10, датчик 108 глубины может определять объем 303 вокруг HMD и объем 305 вокруг контроллера. Указанный объем может быть использован для более точного определения положения HMD и/или контроллера, удерживаемого игроком.
h
h
h
h
h
h
h
h
c
c
c
c
c
c
c
c
[0076] На фиг. 10А и 10В показано, как модуль обработки данных HMD использует объем вокруг HMD и/или контроллера для определения положения, такого как ориентация, местоположение, направление пользователя, носящего HMD/удерживающего контроллер. Модуль обработки данных HMD может определять, сидит или стоит игрок (т.е., пользователь), когда играет в видеоигру. Видеоигра может иметь некоторые ограничения на положение игрока. Например, для игры с высокой интенсивностью видеоигра может требовать, чтобы игрок сидел во время геймплея для того, чтобы избегать дезориентации игрока. Когда игрок начинает играть в видеоигру, когда сидит, и во время хода геймплея встает, модуль обработки игры может быть выполнен с возможностью обнаружения изменения положения пользователя посредством определения изменения поднятия HMD и контроллера. На основании ограничений игры и изменения поднятия HMD и/или контроллера может быть сгенерирован предупреждающий сигнал. Для определения изменения поднятия вычисляют исходное положение HMD, надетого на пользователя. Как показано на фиг. 10А, датчики изображения/датчики глубины определяют одну или большее количество переменных, задающих объем 303, окружающий HMD. Например, датчики изображения/датчики глубины могут быть использованы для определения высоты h (где h=h4-h3), глубины (d) и ширины w (где w=w1-w2) для участка, окружающего HMD, а объем вокруг HMD может быть вычислен как функция h, d и w. Аналогично, объем, окружающий контроллер, может быть определен посредством определения высоты h (где h=h2-h1), глубины d и ширины w (где w=w1-w2) участка, окружающего контроллер 104, а объем 305 вокруг контроллера 104 может быть вычислен как функция h, d и w. Для простоты, ширина участка, окружающего контроллер, показана той же, что и ширина участка, окружающего HMD. Следует отметить, что переменные (т.е., ширина, высота и глубина) для объема, окружающего контроллер, могут отличаться от переменных для объема, окружающего HMD.
h
h
h
h
h
c
c
[0077] Когда игрок изменяет свое положение посредством сидения, например, как показано на фиг. 10В, изменение поднятия HMD обнаруживают посредством датчиков изображения/глубины, и для HMD вычисляют новый объем посредством модуля обработки данных HMD. В этом примере, переменная, относящаяся к высоте, изменилась, и вычисляют новую высоту h' (где h'=h4'-h3') HMD с использованием данных, захваченных датчиками изображения/глубины, а также вычисляют новый объем HMD, как функцию w, d, h'. В этом примере, объем вокруг контроллера (заданный посредством высоты h1, h2, использованных для вычисления h, и ширины w1, w2, использованных для вычисления w) может остаться одинаковым. В альтернативных примерах, объем вокруг контроллера также может измениться, и, в результате, может быть вычислен новый объем для контроллера, используя изменения соответствующих высоты и/или ширины указанного контроллера. На основании изменения положения игрока, захваченного посредством изображений/видеокадров, модуль 905 обработки данных HMD может отправлять данные для регулировки контента, визуализируемого на HMD, и/или обеспечения предупреждения для этого игрока. Предупреждение может содержать запрос для указанного игрока на изменение его местоположения/положения и т.д.
1
2
1
2
[0078] На фиг. 10С показано вычисление изменения положения HMD/контроллера на основании действия игрока, в соответствии с одним вариантом осуществления настоящего изобретения. Внешняя камера 115, такая как чувствительная к глубине камера, видеокамера и т.д. может быть использована для отслеживания относительного положения HMD, надетого на игрока, к контроллеру, удерживаемому этим игроком в различные моменты времени. Модуль обработки данных HMD использует изображения от камеры 115 для обнаружения изменения положения HMD/контроллера. Изменение обнаруживают посредством вычисления исходного положения HMD/контроллера в момент t0 времени (заданный 'h') и положения HMD/контроллера в момент t1 времени (заданный 'h'). Модуль обработки данных HMD дополнительно определяет, превышает ли разность между двумя положениями (h-h) заранее заданное пороговое значение. Заранее заданное пороговое значение может быть установлено для обеспечения возможности некоторых вариаций положения HMD, надетого на игрока, которые могут быть вызваны взглядами этого игрока, вверх, вниз и по сторонам.
[0079] На фиг. 11А-11Е показан примерный вариант осуществления, в котором изменение ориентации пользователя может приводить к изменению безопасного состояния окружающей среды вблизи пользователя, носящего HMD. Изменение ориентации HMD может быть отслежено, предупреждающие сигналы сгенерированы, и/или контент данных передан для прерывания интерактивных сцен, визуализируемых на HMD игрока, на основании затрудненности безопасного состояния окружающей среды, обнаруженной вблизи пользователя, определенного отслеживанием. Например, на фиг. 11А показан пользователь, носящий HMD, взаимодействующий с видеоигрой, выполняющейся на игровой консоли 106, используя контроллер. Интерактивные сцены видеоигры визуализируются на дисплейной части HMD. Пользовательское взаимодействие с контроллером передают беспроводным образом на игровую консоль 106, перемещение HMD обрабатывается процессором HMD, а обработанный контент передают через кабель 806 на игровую консоль 106. Ввод от контроллера и HMD используют в качестве пользовательского ввода для видеоигры. Игровая консоль обновляет интерактивные игровые сцены, визуализируемые на HMD, на основании ввода, обеспеченного пользователем. Следует отметить, что в различных вариантах осуществления для ссылки на персону, которая активно взаимодействует с контентом, представленным на дисплейной части HMD, пользователь и игрок использованы взаимозаменяемым образом. Указанный контент может являться интерактивными игровыми сценами видеоигры, интерактивным приложением, социальным интерактивным потоком и т.д. На фиг. 11А HMD, надетый на пользователя, может быть отслежен с использованием маркерных элементов, таких как СИД (например, представлены ссылочными обозначениями 1-6), видимыми маркерами, инфракрасными маркерами и т.д., и из указанного отслеживания может быть определено, что пользователь, носящий HMD, обращен вперед по направлению к датчикам 115 изображения/глубины системы (например, игровой консоли 12), выполняющей эту видеоигру в момент t0 времени. Во время геймплея пользователь может начинать крутиться вокруг. В результате такого кручения пользователь может поворачиваться направо в момент t1 времени, как показано на фиг. 11В. Кабель 806, соединяющий HMD с игровой консолью/клиентским устройством, начинает медленно оборачиваться вокруг пользователя приводя к потенциальной угрозе безопасности для этого пользователя. По мере того, как пользователь продолжает крутиться, этот пользователь поворачивается направо и обращается назад в момент t2 времени от датчиков изображения/глубины указанной системы, как показано на фиг. 11С, и обращается налево в момент t3 времени, как показано на фиг. 11D. Кабель 806 продолжает оборачиваться вокруг пользователя. Если пользователь продолжает крутиться вокруг, кабель 806 может продолжать оборачиваться вокруг шеи и/или тела этого пользователя, как показано на фиг. 11Е, где изображено, что кабель обернут дважды вокруг шеи пользователя, что может вызывать потенциальный вред для этого пользователя. Пользователь даже может быть не осведомлен об оборачивании кабеля, поскольку он/она полностью погружен (погружена) в видеоигру. Далее, как можно видеть на фиг. 11Е, оборачивание кабеля вызывает его тугое натяжение. Для предотвращения того, чтобы кабель становился угрозой безопасности для пользователя, вызывая для него физический вред, а также предотвращения выдергивание кабеля из разъема HMD, модуль обработки данных HMD может обнаруживать изменение положения HMD, идентифицировать безопасное состояние окружающей среды и автоматически обеспечивать надлежащие предупреждения и/или данные для регулировки/прерывания контента, визуализируемого на дисплейной части HMD. Кутящее действие, например, может быть обнаружено посредством инерциальных датчиков (одного или большего количества гироскопов и одного или большего количества акселерометров) HMD. Модуль обработки данных HMD может анализировать данные о положении HMD, надетого на пользователя, для регулировки контента и/или обеспечения предупреждающих сообщений.
[0080] На фиг. 11F изображена еще одна опасность, которая может произойти с пользователем, когда он выполняет некоторые действия, в то время как все еще погружен в геймплей видеоигры, в соответствии с одним примерным вариантом осуществления. В этом варианте осуществления пользователь, играющий в видеоигру в момент t0 времени), может повернуться кругом и уходить от игровой консоли (как показано на фиг. 11F посредством положений пользователя в моменты t1 и t2 времени), в то же время продолжая взаимодействовать с видеоигрой. Положение игрока отслеживается с использованием СИД, например, расположенных вокруг внешних поверхностей HMD. В варианте осуществления, изображенном на фиг. 11F, исходное положение пользователя определяют посредством отслеживания СИД 1-6 на передней части 110а и задней части 110b HMD. Хотя на фиг. 11F показаны только два СИД 2 и 4 на передней части 110а, следует отметить, что также отслеживаются СИД 1 и 3, расположенные на другой стороне HMD. Перемещение пользователя от игровой консоли может быть определено посредством изменения положения СИД 1-6 на поверхности HMD. Например, по мере выхода СИД 2, 4, 6 из поля обзора камеры 108 другие маркеры, такие как СИД 1, 3 и 5, входят в поле обзора камеры 108. Благодаря отслеживанию СИД, расположенных на внешних поверхностях HMD, может быть определено, что пользователь отвернулся от камеры и обращен от нее, а также уходит по направлению, например, к ступенькам, в то же время полностью погруженный в геймплей. Модуль обработки данных HMD может обнаруживать изменение в данных, относящихся к HMD, таким как изменение положения, поднятия, ориентации, направления, местоположения различных СИД на HMD, надетом на пользователя. Измененные данные могут быть использованы для определения положения пользователя и обеспечения надлежащих предупреждающих сообщений. Например, в момент t0 времени не обнаружено никаких изменения в положении пользователя, носящего HMD, и, в результате, интерактивные игровые сцены видеоигры продолжают визуализироваться на дисплейной части HMD. В момент t1 времени модуль обработки данных HMD обнаруживает, что пользователь поворачивается и уходит от консоли, и, в ответ на действие пользователя, генерирует предупреждающий сигнал, который идентифицирует уровень затрудненности безопасности окружающей среды, и отправляют надлежащие данные для визуализации на HMD. Когда предупреждающий сигнал идентифицирует низкий уровень затрудненности, предупреждающее сообщение, описывающее уровень затрудненности, представлено для пополнения интерактивной игровой сцены, визуализируемой на HMD. В момент t2 времени, по мере того, как пользователь продолжает уходить по направлению к ступенькам, модуль обработки данных HMD определяет затрудненность безопасного состояния окружающей среды в близи пользователя и передает изображения объектов реального мира в непосредственной близости к пользователю, а также надлежащее предупреждающее сообщение, указывающее на высокий уровень затрудненности, для визуализации на HMD. Из-за высокого уровня затрудненности передача изображений вызывает прерывание интерактивных игровых сцен, визуализируемых на HMD, и наглядное представление изображений объектов реального мира на HMD. Кроме того, также визуализируется предупреждающее сообщение, задающее затрудненность безопасного состояния окружающей среды.
[0081] Изменение состояния (т.е., положения, поднятия, ориентации, направления, местоположения HMD, надетого на пользователя, не ограничено до отслеживания СИД, но также может содержать отслеживание перемещения и/или вращения маркерных элементов, таких как осветители, видимые маркеры, инфракрасные маркерные элементы и т.д., расположенные на различных внешних поверхностях HMD и контроллера, используя один или большее количество датчиков изображения, датчиков глубины и/или инерциальных датчиков (т.е., один или большее количество гироскопов, один или большее количество акселерометров) или любую их комбинацию. Когда обнаружено изменение положения HMD и/или контроллера, превышающее заранее заданное пороговое значение, модуль обработки данных HMD может быть заранее запрограммирован для остановки видеоигры, временного прекращения игры, прерывания геймплея/интерактивных сцен, визуализируемых на HMD, и визуализации данных, относящихся к окружающей среде вблизи пользователя, носящего HMD.
[0082] Следует отметить, что изменение состояния может мониториться как кодом операционной системы HMD, который инициирует запуск действия, характерного для системы, так и кодом игры, который инициирует запуск действия, характерного для игры. Соответственно, сгенерированное предупреждающее сообщения находится в соответствии с запусками действий, характерных для системы и характерных для игры. Таким образом, различные модули кодов/кода, вовлеченные в выполнения видеоигры, такие как модуль игрового кода, код из операционной системы (ОС) HMD, прикладной код из HMD, комбинация кода от HMD/ОС, микропрограммное обеспечение, программное обеспечение на игровой консоли, кол, выполняемый игровой консолью или прикладным сервером, или код, выполняемы на облачном сервере и т.д., мониторят изменение состояния (т.е., ориентации, положения, местоположения, направления и т.д.) HMD, надетого на пользователя, и/или контроллера, удерживаемого пользователем, для генерации надлежащего предупреждающего сообщения и передачи надлежащих данных, которые используются для предупреждения пользователя и регулировки контента, визуализируемого на HMD. Переданные данные могут быть использованы для постепенной регулировки контента, визуализируемого на HMD, для обеспечения пользователю возможности полного погружения или медленного освобождения от видеоигры для того, чтобы избегать дезориентации пользователя. Предупреждающее сообщение может быть в виде звукового сигнала, текстового сигнала, графического сигнала (анимированного или статического) или в любом другом виде сигнала, который может быть обеспечен пользователю, предупреждая его о проблемах безопасности во время использования HMD/контроллера. Если предупреждающие сигналы являются недостаточными для предотвращения возникновения проблем безопасности, HMD может автоматически выходить из интерактивной сцены, визуализируемой в настоящее время на HMD.
[0083] С помощью подробного описания различных вариантов осуществления теперь со ссылкой на фиг. 12 будет описан способ регулировки контента и/или обеспечения предупреждения для пользователя. Способ начинается на операции 1210, в которой выполняют игру. Игра может выполняться на клиентском устройстве, на игровой консоли или на игровом сервере в игровом облаке. Выполнение игры приводит к потоковой передаче интерактивных сцен игры на установленный на голове дисплей (HMD), надетый на пользователя, для визуализации. Изменение положения HND, надетого на пользователя, обнаруживается, в то время как пользователь взаимодействует с игрой, как показано в операции 1220. Изменение положения может быть обнаружено посредством мониторинга местоположения, ориентации, направления одного или большего количества маркеров, распределенных на протяжении различных внешних поверхностей HMD, используя любой один или комбинацию из датчиков изображения, датчиков глубины или инерциальных датчиков. В соответствии с альтернативным вариантом осуществления изменение положения может быть обнаружено с использованием данных, полученных от инерциальных датчиков, распределенных в HMD. Когда изменение положения HMD обнаружено, это изменение оценивают, как показано в операции 1230. Оценку изменения могут выполнять посредством модулей кодов в HMD, посредством модуля игрового кода игры, выполняющейся на клиентском устройстве, который обеспечивает данные для визуализации интерактивных сцен игры на HMD, посредством операционной системы HMD, для клиентского устройства или игрового облачного сервера. Как описано ранее, оценка изменения может включать определение, превышает ли изменение положения заранее заданное пороговое значение. Если изменение положения HMD превышает заранее заданное пороговое значение, посредством модуля кода на клиентском устройстве генерируют сигнал. На основании сигнала, сгенерированного на клиентском устройстве, для вызывания прерывания и/или регулировки контента, визуализируемого на HMD, на HMD передают данные, как показано в операции 1240. Регулировка контента может быть для обеспечения предупреждающего сообщения для пользователя, носящего HMD, возле контента интерактивной игровой сцены, регулировки контента для снижения яркости, выхода из контента, визуализации изображений объектов/сцен реального мира вблизи пользователя вместо интерактивных игровых сцен и т.д. Регулировка контента может быть постепенной для обеспечения пользователю возможности освобождения от видеоигры и медленного погружения обратно в видеоигру после прерывания в зависимости от указанного сигнала.
[0084] Таким образом, раскрыта технология предупреждения пользователей установленных на голове дисплеев. Различные варианты осуществления изобретения выполнены с возможностью обнаружения положения поднятия HMD и/или контроллера множеством способов, включая сравнения высот HMD (например, СИД), СИД контроллера, движений контроллера и/или СИД. В некоторых случаях, некоторых играх, таких как игры с высокой интенсивностью, может потребоваться, чтобы пользователь сидел во время игры в эту игру. Для таких игр система может мониторить с возможностью определения, когда пользователь встает во время игры в указанную игру. Такой мониторинг может быть обеспечен посредством мониторинга изменений переменных, таких как высота, и выпуска надлежащего предупреждения или прерывания интерактивных игровых сцен. Система также может определять, когда за шнур HMD дернули слишком много раз, когда он слишком туго натянут или обвит вокруг пользователя, например, посредством обнаружения движения HMD с использованием гироскопа, акселерометра, вращения СИД HMD или СИД контроллера или комбинации двух или более из перечисленного. После обнаружения такого сигнала или состояния система обеспечивает надлежащие предупреждения и/или данные для выхода из игровых сцен. Состояние мониторят посредством кода операционной системы HMD, кода конкретной игры, программного обеспечения игровой консоли, кода, выполняемого игровой консолью, кода, выполняемого игрой, или кода выполняемого на облачном сервере.
[0085] Хотя варианты осуществления изобретения были описаны со ссылкой на конкретные примерные варианты осуществления, будет очевидно, что в этих примерных вариантах осуществления могут быть выполнены различные модификации и изменения без отклонения от расширенной сущности и объема настоящего изобретения. Соответственно, настоящая спецификация и чертежи должны рассматриваться в иллюстративном, а не ограничивающем смысле.
На фиг. 13 изображены аппаратное обеспечение и пользовательские интерфейсы, которые могут быть использованы для реализации некоторых вариантов осуществления настоящего изобретения. На фиг. 6 схематически изображена полная системная архитектура развлекательного устройства Sony PlayStation 3. Другие версии PlayStation могут содержать большее или меньшее количество компонентов. Предоставлен системный блок 1300 с различными периферийными устройствами, выполненными с возможностью соединения с системным блоком 1300. Системный блок 1300 содержит: процессор 1302 Cell; блок 1304 динамического оперативного запоминающего устройства (XDRAM) Rambus 1304; графический блок 1306 синтезатора реальности со специализированным блоком 1308 устройства запоминания видеоданных с произвольной выборкой (VRAM) и мостом 1310 ввода/вывода. Системный блок 1300 также содержит считыватель 1312 оптических дисков Blu Ray и BD-ROM для считывания с диска 1312а и съемного вставного накопителя 1314 на жестком дичке (HDD) 1314, доступных через мост 1310 ввода/вывода. Опционально, системный блок 1300 также содержит считыватель 1301 карт памяти для считывания компактных карт флэш-памяти, карт памяти Memory Stick и т.д., которые легко доступны через мост 1310 ввода/вывода.
[0087] Мост 1310 ввода/вывода также соединен с шестью портами 1316 универсальной последовательной шины (USB) 2.0; портом 1318 гигабитного Ethernet; портом 1320 b/g беспроводной сети стандарта IEEE 802.11 (Wi-Fi) и портом 1322 беспроводного соединения Bluetooth, выполненным с возможностью поддержки до семи соединений Bluetooth.
[0088] В работе мост 1310 ввода/вывода обрабатывает все беспроводные данные, данные USB и Ethernet, включая данные от одного или большего количества игровых контроллеров 110 и 1324. Например, когда пользователь играет в игру, мост 1310 ввода/вывода принимает данные от игрового контроллера 110 и 1324 через соединение Bluetooth и направляет их на процессор 1302 Cell, который обновляет текущее состояние игры соответственно.
[0089] Беспроводные порты, порты USB и Ethernet также обеспечивают возможность соединения для других периферийных устройств в дополнение к игровым контроллерам 110 и 1324, таких как: пульт 1326 дистанционного управления; клавиатура 1328; манипулятор 1330 "мышь"; портативное развлекательное устройство 1332, такое как развлекательное устройство Sony PSP; видеокамера, такая как камера 1334 PlayStation Eye; объект 1336 типа "стандартная фигура" и микрофон 1338. Следовательно, такие периферийные устройства в принципе могут быть присоединены к системному блоку 1300 беспроводным способом; например, портативное развлекательное устройство 1332 может осуществлять связь через специализированное Wi-Fi соединение, тогда как объект 1336 типа "стандартная фигура" может осуществлять связь через соединение Bluetooth.
[0090] Обеспечение этих интерфейсов означает, что устройство PlayStation 3 также потенциально совместимо с другими периферийными устройствами, такими как устройства записи цифровых видеоизображений s (DVR), компьютерные приставки к телевизору, цифровые камеры, портативные медиапроигрыватели, телефоны IP телефонии (система телефонии по протоколу IP), мобильные телефоны, принтеры и сканеры. Кроме того, унаследованный считыватель 1340 карт памяти может быть присоединен к системному блоку через порт 1316 USB, обеспечивая считывание карт памяти такого типа, который использовался устройствами PlayStation or PlayStation 2.
[0091] Игровые контроллеры 110 и 1324 выполнены с возможностью осуществления связи беспроводным образом с системным блоком 1300 через соединение Bluetooth или соединения с портом USB, тем самым также обеспечивая питание для зарядки игровых контроллеров 110 и 1324. Игровые контроллеры 110 и 1324 могут также содержать запоминающее устройство, процессор, считыватель карт памяти, постоянное запоминающее устройство, такое как флэш-память, светоизлучатели, такие как иллюминированная сферическая секция, светоизлучающие диоды (СИД) или инфракрасные осветители, микрофон и динамик для ультразвуковой связи, встроенные часы, акустическую камеру, игровая консоль с распознаванием обращенной формы и беспроводную связь, использующую протоколы, такие как Bluetooth, WiFi™, т.д. Распознаваемая форма может быть по существу формой в виде сферы, куда, параллелограмма, прямоугольного параллелепипеда, конуса, пирамиды, футбольного мяча, мяча для регби, неидеальной сферы, секции сферы, усеченной пирамиды, усеченного конуса, бейсбольной биты, усеченного куба, полиэдра, звезды и т.д. и комбинации двух или большего количества из этих форм.
[0092] Игровой контроллер 1324 является контроллером, выполненным с возможностью использования с помощью двух рук, а игровой контроллер 110 является контроллером для одной руки со сферическим наконечником. В дополнение к одному или большему количеству аналоговых джойстиков и обычным управляющим кнопкам, игровой контроллер восприимчив к определению трехмерного местоположения. Следовательно, жесты и перемещения пользователя игрового контроллера могут быть переведены в качестве ввода в игру в дополнение к командам обычных кнопок или джойстика или вместо них. Опционально, в качестве контроллера могут быть использованы другие периферийные устройства с поддержкой беспроводного соединения, такие как портативное устройство Sony PSP. В случае портативного устройства Sony PSP на экране указанного устройства могут быть обеспечена дополнительная игровая и управляющая информация (например, управляющие инструкции или количество жизней). Также могут быть использованы альтернативные и дополнительные управляющие устройств, такие как танцевальный коврик (не показан), световой пистолет (не показан), рулевое колесо и педали (не показаны) или заказные контроллеры, таки как несколько больших кнопок для викторины с быстрой реакцией (также не показаны).
[0093] Пульт 1326 дистанционного управления таже выполнен с возможностью осуществления беспроводной связи с системным блоком 1300 через соединение Bluetooth. Пульт 1326 дистанционного управления содержит управляющие элементы, подходящие для работы со считывателем 1312 дисков Blu Ray™ BD-ROM и для навигации по содержимому диска.
[0094] Считыватель 1312 дисков Blu Ray™ BD-ROM выполнен с возможностью считывания дисков CD-ROM, совместимых с устройствами PlayStation и PlayStation 2, в дополнение к обычным заранее записанным CD и CD с возможностью записи, также называемых CD с улучшенным звуком. Считыватель 1312 также выполнен с возможностью считывания дисков DVD-ROM, совместимых с устройствами Playstation 2 и PlayStation 3, в дополнение к обычным заранее записанным DVD и DVD с возможностью записи. Считыватель 1312 дополнительно выполнен с возможностью считывания дисков BD-ROM, совместимых с устройством PlayStation 3, а также и обычных заранее записанных дисков Blu-Ray и дисков Blu-Ray с возможностью записи.
[0095] Системный блок 1300 выполнен с возможностью подачи аудио и видео, как сгенерированных, так и декодированных устройством PlayStation 3, через графический блок 1306 синтезатора реальности (RSX) через аудио и видеоконнекторы на устройство 1342 отображения и звукового вывода, такого как монитор или телевизор, имеющий дисплей 1346 и один или большее количество громкоговорителей 1348 или обособленных динамиков 1350. В соответствии с одним вариантом осуществления для проигрывания звука на специальных звуковых динамиках в соответствии с параметрами игры указанного пользователя используют голосовой и зрительный ввод. Аудиоконнекторы 1358 могут содержать обычные аналоговые и цифровые выходы, тогда как видеоконнекторы 1360 могут по-разному содержать выходы компонентного видеосигнала, S-видеосигнала, полного видеосигнала и один или большее количество выходов HDMI (High Definition Multimedia Interface, мультимедийный интерфейс с высоким разрешением). Следовательно, видеовывод может быть в форматах, таких как PAL или NTSC, или с высоким разрешением 720р, 1080i или 1080р.
[0096] Звуковая обработка (генерация, декодирование и т.д.) выполняется посредством процессора 1302 Cell. Операционная система устройства PlayStation 3 поддерживает объемный звук Dolby 5., звук Dolby Theatre Surround (DTS), и декодирование 7.1 объемного звука из дисков Blu-Ray.
[0097] В настоящем варианте осуществления видеокамера 1334 содержит один прибор с зарядовой связью (ПЗС), индикатор СИД и аппаратное устройство для декодирования и сжатия данных в реальном времени таким образом, что видеоданные могут быть переданы в надлежащем формате, таком как стандарт MPEG (motion picture expert group, экспертная группа по вопросам движущегося изображения) на основе внутреннего изображения, для декодирования системным блоком 1300. Индикатор СИД камеры выполнен с возможностью иллюминации в ответ на надлежащие управляющие данные от системного блока 1300, например, для обозначения условий неблагоприятного освещения. Варианты осуществления видеокамеры 1334 могут по-разному соединяться с системным блоком 1300 через порты связи USB, Bluetooth или Wi-Fi. Варианты осуществления видеокамеры могут содержать один или большее количество связанных микрофонов и также быть выполнены с возможностью передачи звуковых данных. В вариантах осуществления видеокамеры ПЗС может иметь разрешение, подходящее для захвата видеоизображения с высоким разрешением. При использовании, изображения, захваченные видеокамерой, например, могут быть включены в игру или интерпретированы, как управляющий ввод игры. В соответствии с другим вариантом осуществления камера является инфракрасной камерой, подходящей для обнаружения инфракрасного излучения.
[0098] В целом, для того, чтобы происходил успешный обмен данными с периферийным устройством, таким как видеокамера или пульт дистанционного управления через один из портов связи системного блока 1300, должна быть обеспечена надлежащая часть программного обеспечения, такая как драйвер устройства. Технология драйверов устройств хорошо известна и не будет подробно описана в настоящем документе, за исключением того, что скажем, что специалисты в области техники будут осведомлены о том, что драйвер устройства или аналогичный программный интерфейс может потребоваться в описанном настоящем варианте осуществления.
[0099] На фиг. 14 изображена структурная схема игровой системы 1100 в соответствии с различными вариантами осуществления настоящего изобретения. Игровая система 1100 выполнена с возможностью обеспечения видеопотока на один или большее количество клиентов 1110 через сеть 1115. Игровая система 1100 обычно содержит видеосерверную систему 1120 и опциональный игровой сервер 1225. Видеосерверная система 1120 выполнена с возможностью обеспечения видопотока на указанный один или большее количество клиентов 1110 с минимальным качеством услуги. Например, видеосерверная система 1120 может принимать игровую команду, которая изменяет состояние или точку обзора в видеоигре, и снабжает клиентов 1110 обновленным видеопотоком, отражающим это изменение состояния с минимальным временем задержки. Видеосерверная система 1120 может быть выполнена с возможностью обеспечения видеопотока в широком разнообразии альтернативных видеоформатов, включая форматы еще подлежащие определению. Кроме того, видеопоток может содержать видеокадры, выполненные в возможностью презентации пользователю с широким разнообразием частот передачи кадров. Обычная частота передачи кадров составляет 30 кадров в секунду, 60 кадров в секунду и 1120 кадров в секунду. Хотя в альтернативные варианты осуществления настоящего изобретения включены более низкие или более высокие частоты передачи кадров.
[00100] Клиенты 111, называемые в настоящем документе отдельно как 1110А, 1110B и т.д., могут содержать установленные на голове дисплеи, терминалы, персональные компьютеры, игровые консоли, планшетные компьютеры, телефоны, компьютерные приставки к телевизору, киоски, беспроводные устройства, цифровые блокноты, автономные устройства, переносные игровые устройства и/или т.д. Обычно клиенты 1110 выполнены с возможностью приема закодированных видеопотоков, декодирования этих видеопотоков и представления поучившегося в результате видеоизображения пользователю, например, игроку игры. Процесс приема закодированных видеопотоков и/или декодирования видеопотоков обычно содержит хранение отдельных видеокадров в буфере приема клиента. Видеопотоки могут быть представлены пользователю на дисплее, объединенном с клиентом 1110, или на отдельном устройстве, таком как монитор или телевизор. Клиенты 1110 опционально выполнены с возможностью поддержки более, чем одного участника игры. Например, игровая консоль может быть выполнена с возможностью одновременной поддержки двух, трех, четырех или большего количества игроков. Каждый из этих игроков может принимать отдельный видеопоток, или один видеопоток может содержать участки кадров, сгенерированных специально для каждого игрока, например, сгенерированных на основе точки обзора каждого игрока. Клиенты 1110 опционально географически рассредоточены. Количество клиентов, содержащихся в игровой системе 1100 может широко изменяться от одного или двух до тысяч, десяток тысяч или больше. Как использовано в настоящем документе, термин "участник игры" относится к персоне, которая играет в игру, а термин "игровое устройство" используется для названия устройства, используемого для ведения игры. В соответствии с некоторыми вариантами осуществления игровое устройство может относится к множеству вычислительных устройств, которые взаимодействуют для доставки игровых событий для пользователя. Например, игровая консоль и HMD могут взаимодействовать с видеосерверной системой 1120 для доставки игры, просматриваемой через HMD. В соответствии с одним вариантом осуществления игровая консоль принимает видеопоток от видеосерверной системы 1120, а игровая консоль переправляет этот видеопоток или обновляет видеопоток на HMD для визуализации.
[00101] Клиенты 1110 выполнены с возможностью приема видеопотоков через сеть 1115. Сеть 1115 может являться сетью связи любого типа, включая телефонную сеть, сеть Интернет, беспроводные сети, сети линий электропередач, ЛВС, ГВС, частные сети и/или т.д. В типичном варианте осуществления видеопотоки передают по стандартным протоколам, таким как протоколы TCP/IP или UDP/IP. В соответствии с альтернативным вариантом осуществления видеопотоки передают по частным стандартам.
[00102] Типичным примером клиентов 1110 является персональный компьютер, содержащий процессор, энергонезависимое запоминающее устройство, дисплей, декодирующую логику, возможности для сетевой связи и устройства ввода. Декодирующая логика может содержать аппаратное, микропрограммное и/или программное обеспечение, хранящееся на читаемом с помощью компьютера носителе. Системы для декодирования (и кодирования) видеопотоков хорошо известны в области техники и изменяются в зависимости от конкретной используемой кодирующей системы.
[00103] Клиенты 1110 могут, но это не требуется, дополнительно содержать системы, выполненные с возможностью модификации принятого видеоизображения. Например, клиент может быть выполнен с возможностью выполнения дополнительной визуализации, накладывания одного видеоизображения на другое видеоизображение, обрезки видеоизображения и/или т.д. Например, клиенты 1110 могут быть выполнены с возможностью приема различных типов видеокадров, таких как I-кадры, Р-кадры и В-кадры, и возможностью обработки этих кадров в изображения для отображения пользователю. В соответствии с некоторыми вариантами осуществления элемент клиентов 1110 выполнен с возможностью выполнения дополнительной визуализации, затенения, преобразования в 3D и тому подобных операций над видеопотоком. Элемент клиентов 1110 опционально выполнен с возможностью приема более чем одного аудио или видеопотока. Устройства ввода клиентов 1110 могут содержать, например, игровой контроллер для одной руки, игровой контроллер для двух рук, систему распознавания жестов, системы зрительного распознавания, систему голосового распознавания, клавиатуру, джойстик, указательное устройство, устройство с силовой обратной связью, чувствительное к движению и/или местоположению устройство, манипулятор типа "мышь", сенсорный экран, нейронный интерфейс, камеру, устройства ввода, еще подлежащие разработке, и/или т.д.
[00104] Видеопоток (и, опционально, аудиопоток), принятый клиентами 1110, генерируется и обеспечивается посредством видеосерверной системы 1120. Как дополнительно описано в настоящем документе, этот видеопоток содержит видеокадры (а аудиопоток содержит аудиокадры). Видеокадры выполнены (например, они содержат информацию о пикселях в надлежащей структуре данных) с возможностью внесения многозначительного вклада в изображения, отображаемые пользователю. Как использовано в настоящем документе, термин "видеокадры" использованы для обозначения кадров, содержащих преимущественно информацию, которая выполнена с возможностью внесения вклада в изображения, показанные пользователю, например, для эффекта. Большая часть идей настоящего документа во отношении "видеокадров" также может быть применена к "аудиокадрам".
[00105] Клиенты 1110 обычно выполнены с возможностью приема ввода от пользователя. Этот ввод может содержать игровые команды, выполненные с возможностью изменения состояния видеоигры или иного воздействия на геймплей. Игровые команды могут быть приняты с использованием устройств ввода и/или могут быть автоматически сгенерированы вычислительными инструкциями, выполняющимися на клиентах 1110. Принятые игровые команды передают от клиентов 1110 через сеть 1115 на видеосерверную системы 1120 и/или игровой сервер 1125. Например, в соответствии с некоторыми вариантами осуществления игровые команды передают на игровой сервер 1125 через видеосерверную систему 1120. В соответствии с некоторыми вариантами осуществления отдельные копии игровых команд передают от клиентов 1110 на игровой сервер 1125 и видеосерверную систему 1120. Передача игровых команд опционально зависит от идентичности этой команды. Игровые команды опционально передают от клиента 1110А через различный маршрут или канал связи, который использован для обеспечения аудио и видеопотоков на клиент 1110А.
[00106] Игровой сервер 1125 опционально управляется различным объектом, чем видеосерверная система 1120. Например, игровой сервер 1125 может управляться разработчиком многопользовательской игры. В этом примере видеосерверная система 1120 опционально просматривается, как клиент, игровым сервером 1125 и опционально выполнена с возможностью появления с токи зрения игрового сервера 1125, как клиента предыдущего уровня техники, выполняющего игровой движок предыдущего уровня техники. Связь между видеосерверной системой 1120 и игровым сервером 1125 опционально происходит через сеть 1115. В силу этого, игровой сервер 1125 может быть многопользовательским игровым сервером предыдущего уровня техники, который отправляет информацию о состоянии игры множественным клиентам, одним из которых является игровая серверная система 1120. Видеосерверная система 1120 может быть выполнена с возможностью осуществления связи с множественными экземплярами сервера 1125 в одно и то же время. Например, видеосерверная система 1120 может быть выполнена с возможностью обеспечения множества различных видеоигр для различных пользователей. Каждая из этих различных видеоигр может поддерживаться различным игровым сервером 1125 и/или опубликована различными объектами. В соответствии с некоторыми вариантами осуществления несколько географически распределенных экземпляров видеосерверной системы 1120 выполнены с возможностью обеспечения игровых видеоизображений для множества различных пользователей. Каждый их этих экземпляров видеосерверной системы 1120 может находиться в связи с одинаковым экземпляром игрового сервера 1125. Связь между видеосерверной системой 1120 и одним или большим количеством игровых серверов 1125 опционально происходит через выделенный канал связи. Например, видеосерверная система 1120 может быть соединена с игровым сервером 1125 через широкополосный канал, который выделен для связи между этими двумя системами.
[00107] Видеосерверная система 1120 содержит по меньшей мере источник 1130 видеоизображения, устройство 1145 ввода/вывода, процессор 1150 и некратковременное запоминающее устройство 1155. Видеосерверная система 1120 может содержать одно вычислительное устройство или может быть распределена среди множества вычислительных устройств. Эти вычислительные устройства опционально соединены через системы связи, такую как локальная вычислительная сеть.
[00108] Источник 1130 видеоизображения выполнен с возможностью обеспечения видеопотока, например, потокового видео или последовательностей видеокадров, которые формируют движущуюся картинку. В соответствии с некоторыми вариантами осуществления источник 1130 видеоизображения содержит движок видеоигры и визуализирующую логику. Движок видеоигры выполнен с возможностью приема игровых команд от игрока и сохранения копии состояния видеоигры на основании принятых команд. Это состояние игры содержит положение объектов в игровой среде, а также обычно точку обзора. Состояние игры также может содержать свойства, изображения, цвета и/или текстуры объектов. Состояние игры обычно сохраняется на основании правил игры, а также игровых команд, таких как перемещение, поворот, атака, установка фокуса на, взаимодействие, использование и/или т.д. Часть игрового движка опционально расположена на игровом сервере 1125. Игровой сервер 1125 может сохранять копию состояния игры на основании игровых команд, принятых от множественных пользователей, используя географическое распределение клиентов. В этих случаях состояние игры обеспечивается игровым сервером 1125 на источник 1130 видеоизображения, причем копия состояния игры сохраняется, а визуализация выполняется. Игровой сервер 1125 может принимать игровые команды прямо от клиентов 1110 через сеть 1115 и/или может принимать игровые команды через видеосерверную систему 1120.
[00109] Источник 1130 видеоизображения обычно содержит визуализирующую логику, например, аппаратное, микропрограммное и/или программное обеспечение, хранящееся на читаемом с помощью компьютера носителе, такого как запоминающее устройство 1155. Эта визуализирующая логика выполнена с возможностью создания видеокадров видеопотока. Вся визуализирующая логика или ее часть опционально расположена в графическом обрабатывающем блоке (GPU). Визуализирующая логика обычно содержит обрабатывающие стадии, выполненные с возможностью определения трехмерных пространственных взаимоотношений между объектами и/или применения надлежащих текстур и т.д. на основании состояния игры и точки обзора. Визуализирующая логика производит сырое видеоизображение, которое затем обычно закодируют до передачи клиентам 1110. Например, сырое видеоизображение может быть закодировано в соответствии со стандартом Adobe Flash standard,.wav, H.264, H.263, On2, VP6, VC-1, WMA, Huffyuv, Lagarith, MPG-x. Xvid. FFmpeg, x264, VP6-8, realvideo, mp3 и тому подобным. Процесс кодирования производит видеопоток, который опционально объединен в пакет для доставки на декодер на удаленном устройстве. Видеопоток характеризуется размером кадра и частотой передачи кадров. Обычные размеры кадров содержат 800×600, 1280×720 (например, 720р), 1024×768, хотя могут быть использованы любые другие размеры кадров. Частота передачи кадров является количеством видеокадров в секунду. Видеопоток может содержать различные типы видеокадров. Например, стандарт Н.264 содержит "Р" кадр и "I" кадр. I-кадры содержат информацию для обновления всех макроблоков/пикселей на отображающем устройстве, тогда как Р-кадры содержат информацию для обновления их поднаборов. Р-кадры обычно меньше в отношении размера данных, чем I-кадры. Как использовано в настоящем документе, термин "размер кадра" означает количество пикселей в кадре. Термин "размер данных кадра" использован для обозначения количества байтов, требуемых для хранения этого кадра.
[00110] В соответствии с альтернативными вариантами осуществления источник 1130 видеоизображения содержит видеозаписывающее устройство, такое как камера. Эта камера может быть использована для генерации отложенного или живого видеоизображения, которое может быть включено в видеопоток компьютерной игры. Результирующий видеопоток опционально содержит как визуализированные изображения, так и изображения, записанные с использованием фотокамеры или видеокамеры. Источник 1130 видеоизображения также может содержать запоминающие устройства, выполненные с возможностью хранения заранее записанных видеоизображений, подлежащих включению в видеопоток. Источник 1130 видеоизображений также может содержать чувствительные к движению или положению устройства, выполненные с возможностью обнаружения движения или положения объекта, например, персоны, и логику, выполненную с возможностью определения состояния игры или производства видеоизображения на основании обнаруженного движения и/или положения.
[00111] Источник 1130 видеоизображения опционально выполнен с возможностью обеспечения оверлеев, выполненных с возможностью помещения на другое видеоизображение. Например, эти оверлеи могут содержать командный интерфейс, инструкции для входа в системы, сообщения участнику игры, изображения других участников игры, видеотрансляции других участников игры (например, видеоизображение от вебкамеры.) В вариантах осуществления клиента 1110А, содержащих интерфейс сенсорного экрана или интерфейс зрительного обнаружения, оверлей может содержать виртуальную клавиатуру, джойстик, сенсорную площадку и/или т.д. В одном примере оверлей голоса игрока накладывается на аудиопоток. Опционально, источник 1130 видеоизображения дополнительно содержит один или большее количество аудиоисточников.
[00112] В вариантах осуществления, в которых видеосерверная система 1120 выполнена с возможностью сохранения состояния игры на основании ввода от более, чем одного игрока, каждый игрок может иметь различную точку обзора, содержащую положение и направление обзора. Источник 1130 видеоизображения опционально выполнен с возможностью обеспечения отдельного видеопотока для каждого игрока на основании их точек обзора. Кроме того, источник 1130 видеоизображения может быть выполнен с возможностью обеспечения различного размера кадра, размера данных кадра и/или закодирования для каждого клиента 1110. Источник 1130 видеоизображения опционально выполнен с возможностью обеспечения 3-D видеоизображения.
[00113] Устройство 1145 ввода/вывода для видеосерверной системы 1120 выполнено с возможностью отправки и/или приема информации, такой как видеоизображение, команды, запросы информации, состояние игры, зрительная информация, движение устройства, местоположение устройства, движение пользователя, идентичности клиента, идентичности игрока, игровые команды, информация о безопасности, аудио и/или тому подобное. Устройство 1145 ввода/вывода обычно содержит связное аппаратное обеспечение, такое как сетевая карта или модем. Устройство 1145 ввода/вывода выполнено с возможностью осуществления связи с игровым сервером 1125, сетью 1115 и/или клиентами 1110.
[00114] Процессор 1150 выполнен с возможностью выполнения логики, например, программного обеспечения, содержащегося в различных компонентах видеосерверной системы 1120, обсужденной в настоящем документе. Например, процессор 1150 может быть запрограммирован с помощью программных инструкций для того, чтобы выполнять функции источника 1130 видеоизображения, игрового сервера 1125 и/или спецификатора 1160 клиента. Видеосерверная система 1120 опционально содержит более, чем один экземпляр процессора 1150. Процессор 1150 также может быть запрограммирован с помощью программных инструкций для того, чтобы выполнять команды, принятые видеосерверной системой 1120, или чтобы координировать работу различных элементов игровой системы 1100, обсужденной в настоящем документе. Процессор 1150 может содержать одно или большее количество аппаратных устройств. Процессор 1150 является электронным процессором.
[00115] Запоминающее устройство 1155 содержит некратковременные аналоговое и/или цифровое запоминающие устройства. Например, запоминающее устройство 1155 может содержать аналоговое запоминающее устройство, выполненное с возможностью хранения видеокадров. Запоминающее устройство 1155 может содержать читаемое с помощью компьютера цифровое запоминающее устройство, например, накопитель на жестких дисках, накопитель на оптических дисках и твердотельное запоминающее устройство. Запоминающее устройство 1115 выполнено с возможностью (например, посредством надлежащей структуры данных или файловой системы) для хранения видеокадров, искусственных кадров, видеопотока, содержащего как видеокадры, так и искусственные кадры, аудиокадров, аудиопотока и/или т.д. Запоминающее устройство 1155 опционально распределено среди множества устройств. В соответствии с некоторыми вариантами осуществления запоминающее устройство 1155 выполнено с возможностью хранения программных компонентов источника 1130 видеоизображения, обсужденного в настоящем документе. Эти компоненты могут быть сохранены в формате, готовом для предоставления, когда необходимо.
[00116] Опционально, видеосерверная система 1120 дополнительно спецификатор 1160 клиента. Спецификатор 1160 клиента выполнен с возможностью удаленного определения возможностей клиента, такого как клиенты 1110А или 1110В. Эти возможности могут содержать как возможности самого клиента 1110А, так и возможности одного или большего количества каналов связи между клиентом 1110А и видеосерверной системой 1120. Например, спецификатор 1160 клиента может быть выполнен с возможностью тестирования канала связи через сеть 1115.
[00117] Спецификатор 1160 клиента может определять (например, обнаруживать) возможности клиента 1110А вручную или автоматически. Определение вручную содержит обеспечение связи с пользователем клиента 1110А и запрос этого пользователя для обеспечения возможностей. Например, в соответствии с некоторыми вариантами осуществления спецификатор 1160 клиента выполнен с возможностью отображения изображений, текста и/или т.д. в браузере клиента 1110А. В соответствии с одним вариантом осуществления клиент 1110А является HMD, который содержит браузер. В соответствии с другим вариантом осуществления клиент 1110А является игровой консолью, содержащей браузер, который может быть отображен на HMD. Отображенные объекты запрашивают ввод пользователем информации, такой как операционная система, процессор, тип видеодекодера, тип сетевого соединения, разрешение дисплея и т.д. клиента 1110А. Информация, введенная пользователем, передаются обратно на спецификатор 1160 клиента.
[00118] Автоматическое определение может происходить, например, посредством выполнения агента на клиенте 1110А и/или посредством отправки тестового видеоизображения на клиент 1110А. Указанный агент может содержать вычислительные инструкции, такие как java script, внедренные в вебстраницу или установленные в качестве дополнения. Агент опционально обеспечивается посредством спецификатора 1160 клиента. В различных вариантах осуществления агент может обнаруживать обрабатывающую мощность клиента 1110А, декодирующие и отображающие возможности клиента 1110А, надежность времени запаздывания и ширину полосы канала связи между клиентом 1110А и видеосерверной системой 1120, тип дисплей клиента 1110А, межсетевые экраны, присутствующие на клиенте 1110А, аппаратное обеспечение клиента 1110А, программное обеспечение, выполняющееся на клиенте 1110А, элементы реестра в клиенте 1110А и/или т.д.
[00119] Спецификатор 1160 клиента содержит аппаратное, микропрограммное и/или программное обеспечение, хранящееся на читаемом с помощью компьютера носителе. Спецификатор 1160 клиента опционально расположен на вычислительном устройстве, отдельно от одного или большего количества других элементов видеосерверной системы 1120. Например, в соответствии с некоторыми вариантами осуществления спецификатор 1160 клиента выполнен с возможностью определения характеристик канала связи между клиентами 1110 и более, чем одним экземпляром видеосерверной системы 1120. В этих вариантах осуществления информация, обнаруженная спецификатором клиента, может быть использована для определения, какой экземпляр видеосерверной системы 1120 наилучшим образом подходит для доставки потокового видеоизображения на одного из клиентов 1110.
[00120] Варианты осуществления настоящего изобретения могут практиковаться с различными конфигурациями компьютерной системы, включая переносные устройство, микропроцессорные системы, программируемая бытовая электроника или бытовая электроника на основе микропроцессоров, миникомпьютеры, универсальные компьютеры и т.д. Некоторые варианты осуществления настоящего изобретения также могут практиковаться в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые соединены через проводные и беспроводные сети.
[00121] Представляя приведенные выше варианты осуществления, следует понимать, что различные варианты осуществления настоящего изобретения могут использовать различные реализуемые с помощью компьютера операции, включающие хранение данных в компьютерных системах. Эти операции являются операциями, требующими физической манипуляции физическими величинами. Любая из операций, описанных в настоящем документе, которая формирует часть различных вариантов осуществления настоящего изобретения, является пригодной машинной операцией. Некоторые варианты осуществления настоящего изобретения также относятся к устройствам или аппаратам для выполнения этих операций. Устройство может быть специально сконструировано для требуемой цели, или устройство может являться компьютером общего назначения, активированным или сконфигурированным компьютерной программной, хранящейся на этом компьютере. В частности могут использоваться различные машины общего назначения с компьютерными программами, написанными в соответствии с идеями настоящего документе, или может быть более удобно сконструировать более специализированное устройство для выполнения требуемых операций.
[00122] Различные варианты осуществления настоящего изобретения также могут быть воплощены в виде читаемого с помощью компьютера кода на читаемом с помощью компьютера носителе. Читаемый с помощью компьютера носитель может являться любым устройством для хранения данных, которое может хранить данные, которые впоследствии могут быть прочитаны компьютерной системой. Примеры читаемого с помощью компьютера носителя содержат накопители на жестких дисках, подключаемый к сети накопитель (NAS, network attached storage), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), компакт-диски ROM (CD-ROM), записываемые компакт-диски (CD-R), перезаписываемые компакт-диски (RW), магнитные ленты и другие оптические и неоптические устройства для хранения данных. Читаемый с помощью компьютера носитель может содержать читаемый с помощью компьютера материальный носитель, распределенный по компьютерной системе, связанной по сети, таким образом, что читаемый с помощью компьютера код хранят и выполняют распределенным образом.
[00123] Хотя операции метода были описаны в определенном порядке, следует понимать, что между операциями могут быть выполнены служебные операции, или операции могут быть отрегулированы таким образом, что они происходят в слегка различные моменты времени, или могут быть распределены в системе, которая позволяет возникновение обрабатывающих операций через различные интервалы времени, связанные с обработкой, до тех пор, как обработка операций наложения выполняются требуемым способом.
[00124] Хотя изложенное выше изобретение было описано подробно для целей ясности понимания, следует понимать, что в пределах объема сопутствующей формулы изобретения могут практиковаться некоторые изменения и модификации. Следовательно, настоящие варианты осуществления должны рассматриваться, как иллюстративные и неограничивающие, а различные варианты осуществления настоящего изобретения не должны быть ограничены до деталей, данных в настоящем документе, но могут быть модифицированы в пределах объема и эквивалентов сопутствующей формулы изобретения.