СИСТЕМА И СПОСОБ ДЛЯ ДОПОЛНЕННОЙ И ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ
SYSTEM AND METHOD FOR AUGMENTED AND VIRTUAL REALITY

СВЕДЕНИЯ О РОДСТВЕННОЙ ЗАЯВКЕ
По настоящей заявке в соответствии с § 119 Раздела 35 Кодекса законов США испрашивается приоритет Предварительной Заявки США Серийный № 61/552,941, поданной 28 октября 2011 г. Вышеназванная заявка посредством этого во всей своей полноте включена в настоящую заявку посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к системам и способам, выполненным с возможностью обеспечения интерактивных сред виртуальной или дополненной реальности для одного или более пользователей.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Среды виртуальной и дополненной реальности генерируются посредством компьютеров, используя, частично, данные, которые описывают среду. Эти данные могут описывать, например, различные объекты, которые может фиксировать и с которыми может взаимодействовать пользователь. Примеры таких объектов включают в себя: объекты, которые формируются посредством рендеринга и отображаются пользователю для просмотра; аудио, которое воспроизводится пользователю для прослушивания; и тактильную (или осязательную) обратную связь для пользователя, которую он чувствует. Пользователь может фиксировать и взаимодействовать со средами виртуальной и дополненной реальности посредством разнообразных визуальных, аудиальных и тактильных средств.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Один вариант осуществления направлен на систему для предоставления двум или более пользователям возможности взаимодействия внутри виртуального мира, содержащего данные виртуального мира, содержащую: компьютерную сеть, содержащую одно или более вычислительных устройств, при этом одно или более вычислительных устройств содержат память, схему обработки, и программное обеспечение, хранящееся, по меньшей мере, частично, в памяти и исполняемое схемой обработки для обработки, по меньшей мере, части данных виртуального мира; при этом, по меньшей мере, первая часть данных виртуального мира происходит из виртуального мира первого пользователя, локального для первого пользователя, и при этом компьютерная сеть работает для передачи этой первой части устройству пользователя для представления второму пользователю, с тем, чтобы второй пользователь мог воспринимать данную первую часть из местоположения второго пользователя, так что аспекты виртуального мира первого пользователя эффективно перенаправляются второму пользователю. Первый и второй пользователи могут находиться в разных физических местоположениях или, по существу, в одном и том же физическом местоположении. По меньшей мере, часть виртуального мира может быть выполнена с возможностью изменения в ответ на изменение данных виртуального мира. По меньшей мере, часть виртуального мира может быть выполнена с возможностью изменения в ответ на физический объект, который фиксирует устройство пользователя. Изменение данных виртуального мира может представлять собой виртуальный объект с предварительно определенной зависимостью с физическим объектом. Изменение данных виртуального мира может быть представлено устройству второго пользователя для представления второму пользователю в соответствии с предварительно определенной зависимостью. Виртуальный мир может быть приспособлен так чтобы его представление формировалось посредством, по меньшей мере, одного из компьютерных серверов и устройства пользователя. Виртуальный мир может быть представлен в двумерном формате. Виртуальный мир может быть представлен в трехмерном формате. Устройство пользователя может быть таким, которое работает для предоставления интерфейса, обеспечивающего взаимодействие между пользователем и виртуальным миром в режиме дополненной реальности. Устройство пользователя может быть таким, которое работает для предоставления интерфейса, обеспечивающего взаимодействие между пользователем и виртуальным миром в режиме виртуальной реальности. Устройство пользователя может быть таким, которое работает для предоставления интерфейса, обеспечивающего взаимодействие между пользователем и виртуальным миром в режиме сочетания дополненной и виртуальной реальности. Данные виртуального мира могут быть переданы по сети передачи данных. Компьютерная сеть может быть такой, которая работает для приема, по меньшей мере, части данных виртуального мира от устройства пользователя. По меньшей мере, часть данных виртуального мира, передаваемая устройству пользователя, может содержать инструкции для генерирования, по меньшей мере, части виртуального мира. По меньшей мере, часть данных виртуального мира может быть передана шлюзу, по меньшей мере, для одного из обработки и распространения. По меньшей мере, один из одного или более компьютерных серверов может быть таким, который работает для обработки данных виртуального мира, распространяемых шлюзом.
Другой вариант осуществления направлен на систему для виртуального и/или дополненного восприятия пользователя, в которой удаленные аватары анимируются на основании, по меньшей мере, частично, данных с носимого устройства с опциональным вводом через программное обеспечение с распознаванием интонации голоса и распознаванием лиц.
Другой вариант осуществления направлен на систему для виртуального и/или дополненного восприятия пользователя, в которой ориентация камеры или позиция и вектор точки обзора могут быть помещены где угодно в секторе мира.
Другой вариант осуществления направлен на систему для виртуального и/или дополненного восприятия пользователя, в которой представления миров или их частей могут формироваться для наблюдения пользователями при разнообразных или выбираемых масштабах.
Другой вариант осуществления направлен на систему для виртуального и/или дополненного восприятия пользователя, в которой свойства, такие как точки или параметрические линии, в дополнение к изображениям с размеченной ориентацией, могут быть использованы в качестве базовых данных для модели мира, из которых роботы программного обеспечения, или распознаватели объекта, могут быть использованы для создания параметрических представления объектов реального мира, размечая исходные свойства для взаимного включения в вычлененные объекты и модель мира.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 иллюстрирует типичный вариант осуществления раскрываемой системы, выполненной с возможностью обеспечения интерактивных сред виртуальной или дополненной реальности для нескольких пользователей.
Фиг. 2 иллюстрирует пример устройства пользователя для взаимодействия с системой, проиллюстрированной на Фиг. 1.
Фиг. 3 иллюстрирует пример варианта осуществления мобильного, носимого устройства пользователя.
Фиг. 4 иллюстрирует пример объектов, которые видит пользователь, когда мобильное, носимое устройство пользователя с Фиг. 3 работает в дополненном режиме.
Фиг. 5 иллюстрирует пример объектов, которые видит пользователь, когда мобильное, носимое устройство пользователя с Фиг. 3 работает в виртуальном режиме.
Фиг. 6 иллюстрирует пример объектов, которые видит пользователь, когда мобильное, носимое устройство пользователя с Фиг. 3 работает в режиме смешанного виртуального интерфейса.
Фиг. 7 иллюстрирует вариант осуществления, в котором два пользователя, находящиеся в разных географических местоположения, каждый взаимодействует с другим пользователем и общим виртуальным миром посредством их соответствующих устройств пользователя.
Фиг. 8 иллюстрирует вариант осуществления, в котором вариант осуществления с Фиг. 7 расширяется как включающий в себя использование осязательного устройства.
Фиг. 9A иллюстрирует пример взаимодействия в комбинированном режиме, при котором первый пользователь взаимодействует с цифровым миром в режиме смешанного виртуального интерфейса, а второй пользователь взаимодействует с тем же самым цифровым миром в режиме виртуальной реальности.
Фиг. 9B иллюстрирует другой пример взаимодействия в комбинированном режиме, при котором первый пользователь взаимодействует с цифровым миром в режиме смешанного виртуального интерфейса, а второй пользователь взаимодействует с тем же самым цифровым миром в режиме дополненной реальности.
Фиг. 10 иллюстрирует примерную иллюстрацию обзора со стороны пользователя при взаимодействии с системой в режиме дополненной реальности.
Фиг. 11 иллюстрирует примерную иллюстрацию обзора со стороны пользователя, где показан виртуальный объект, инициируемый физическим объектом, когда пользователь взаимодействует с системой в режиме дополненной реальности.
Фиг. 12 иллюстрирует один вариант осуществления конфигурации интеграции дополненной и виртуальной реальности, в котором один пользователь с восприятием в режиме дополненной реальности визуализирует присутствие другого пользователя с восприятием в режиме виртуальной реальности.
Фиг. 13 иллюстрирует один вариант осуществления временного и/или ограничивающего события на основании конфигурации восприятия в режиме дополненной реальности.
Фиг. 14 иллюстрирует один вариант осуществления конфигурации отображения пользователя, пригодного для восприятий в режимах виртуальной и/или дополненной реальности.
Фиг. 15 иллюстрирует один вариант осуществления локальной и основанной на облаке координации вычислений.
Фиг. 16 иллюстрирует различные аспекты конфигураций регистрации.
ПОДРОБНОЕ ОПИСАНИЕ
Обращаясь к Фиг. 1, система 100 является типичным аппаратным обеспечением для реализации описываемых ниже процессов. Данная типичная система содержит вычислительную сеть 105, состоящую из одного или более компьютерных серверов 110, соединенных посредством одного или более интерфейсов 115 с высокой полосой пропускания. Серверы в вычислительной сети не обязательно должны размещаться в одном месте. Один или более серверов 110 каждый содержит один или более процессоров для исполнения программных инструкций. Серверы также могут включать в себя память для хранения программных инструкций и данных, которые используются и/или генерируются посредством процессов, выполняемых серверами под управлением программных инструкций.
Вычислительная сеть 105 обеспечивает связь для передачи данных между серверами 110 и между серверами и одним или более устройствами 120 пользователя через одно или более соединений 130 сети передачи данных. Примеры таких сетей передачи данных включают в себя, без ограничения, любые и все типы открытых и частных сетей передачи данных, как мобильные, так и проводные, включая, например, взаимное соединение множества таких сетей, обычно называемое как Интернет. На фигуре не подразумевается какой-либо конкретно используемой среды, топологии или протокола.
Устройства пользователя выполнены с возможностью осуществления связи непосредственно с вычислительной сетью 105, или любым из серверов 110. В качестве альтернативы, устройства 120 пользователя осуществляют связь с удаленными серверами 110, и, в необязательном порядке, с другими устройствами пользователя локально, посредством специально запрограммированного локального шлюза 140 для обработки данных и/или для осуществления связи для передачи данных между сетью 105 и одним или более локальными устройствами 120 пользователя.
Как иллюстрируется, шлюз 140 реализован в качестве отдельного компонента аппаратного обеспечения, который включает в себя процессор для исполнения инструкций программного обеспечения и память для хранения инструкций программного обеспечения и данных. Шлюз имеет свое собственное проводное и/или беспроводное соединение с сетями передачи данных для осуществления связи с серверами 110, составляющими вычислительную сеть 105. В качестве альтернативы, шлюз 140 может быть интегрирован в устройство 120 пользователя, которое носит с собой или переносит пользователь. Например, шлюз 140 может быть реализован в качестве загружаемого приложения программного обеспечения, установленного и работающего на процессоре, который включен в устройство 120 пользователя. Шлюз 140 обеспечивает, в одном варианте осуществления, доступ одного или более пользователей к вычислительной сети 105 через сеть 130 передачи данных.
Серверы 110 каждый включает в себя, например, рабочую память и хранилище для хранения данных и программ программного обеспечения, микропроцессоры для исполнения программных инструкций, графические процессоры и прочие специализированные процессоры рендеринга и генерирования графики, изображений, видео, аудио и мультимедийных файлов. Вычислительная сеть 105 также может содержать устройства для хранения данных, доступ к которым получают, используют или создают посредством серверов 110.
Программы программного обеспечения, работающие на серверах и, в необязательном порядке, устройствах 120 пользователя и шлюзах 140, используются для генерирования цифровых миров (также именуемых здесь как виртуальные миры), с которыми пользователи взаимодействуют с помощью устройств 120 пользователя. Цифровой мир представлен данными и процессами, которые описывают и/или определяют виртуальные, не существующие субъекты, среды и условия, которые могут быть представлены пользователю посредством устройства 120 пользователя для того, чтобы пользователь воспринимал и взаимодействовал с ними. Например, некоторый тип объекта, субъекты или элемента, который будет появляться как физически представляемый при воплощении в сцене, которая просматривается и воспринимается пользователем, может включать в себя описание его внешнего вида, его поведения, то, каким образом пользователю разрешено с ним взаимодействовать, и прочие характеристики. Данные, используемые для создания среды виртуального мира (включая виртуальные объекты), могут включать в себя, например, атмосферные данные, данные местности, погодные данные, температурные данные, данные местоположения и прочие данные, используемые для определения и/или описания виртуальной среды. Дополнительно, данные, определяющие различные условия, которые обуславливают функционирование виртуального мира, могут включать в себя, например, физические законы, время, пространственные зависимости и прочие данные, которые могут быть использованы для определения и/или создания различных условий, которые обуславливают функционирование виртуального мира (включая виртуальные объекты).
Субъект, объект, условие, характеристика, поведение или другое свойство цифрового мира, в общем, будет именоваться здесь, до тех пор, пока контекст не указывает обратное, как «объект» (например, цифровой объект, виртуальный объект, визуализируемый посредством рендеринга физический объект, и т.д.). Объекты могут быть любого типа анимированным или не анимированным объектом, включая, но не ограничиваясь, здания, растения, транспортные средства, людей, животных, созданий, машины, данные, видео, текст, картинки и прочих пользователей. Объекты также могут быть определены в цифровом виде для хранения информации об элементах, поведениях или условиях, которые фактически присутствуют в физическом мире. Данные, которые описывают или определяют субъект, объект или элемент, или которые хранят его текущее состояние, в целом именуются здесь данными объекта. Эти данные обрабатываются серверами 110 или, в зависимости от реализации, шлюзом 140 или устройством 120 пользователя, для того чтобы создать экземпляр (инстанцировать) объекта и сформировать представление объекта соответствующим образом, чтобы пользователь воспринимал его посредством устройства пользователя.
Программисты, которые разрабатывают и/или курируют цифровой мир, создают или определяют объекты и условия, при которых они инстанцируются. Тем не менее, цифровой мир может позволять другим создавать или модифицировать объекты. Как только объект инстанцирован, может быть разрешено изменение, управление или манипулирование состоянием объекта со стороны одного или более пользователей, воспринимающих цифровой мир.
Например, в одном варианте осуществления, разработка, создание и администрирование цифрового мира в целом обеспечивается одним или более администрирующими систему программистами. В некоторых вариантах осуществления, это может включать в себя разработку, проектирование и/или исполнение сюжетной линии, тем и событий в цифровых мирах, как впрочем, и распределение изложений посредством различных форм событий и средств, таких как, например, фильм, цифровая сеть, мобильная сеть, дополненная реальность и развлечения в режиме реального времени. Администрирующие систему программисты также могут осуществлять техническое администрирование, регулирование и курирование цифровых миров и сообществ пользователей, с ними связанных, как впрочем, и другие задачи, которые, как правило, выполняются администрирующим сеть персоналом.
Пользователи взаимодействуют с одним или более цифровыми мирами при помощи некоторого типа локального вычислительного устройства, которое в целом обозначено как устройство 120 пользователя. Примеры таких устройств пользователя включают в себя, но не ограничиваются, интеллектуальный телефон (смартфон), планшетное устройство, дисплей головного монтажа (HUD), игровую консоль или любое другое устройство, выполненное с возможностью осуществления передачи данных и предоставления интерфейса или отображения пользователю, как впрочем, и сочетания таких устройств. В некоторых вариантах осуществления, устройство 120 пользователя может включать в себя, или осуществлять связь с, локальные периферийные устройства или компоненты ввода/вывода, такие как, например, клавиатура, манипулятор типа мышь, игровой манипулятор, игровой контроллер, устройство осязательного интерфейса, контроллер захвата движения, устройство оптического отслеживания, такое как те, что предоставляет Leap Motion, Inc., или те, что предоставляет Microsoft под торговой маркой Kinect (RTM), аудио оборудование, голосовое оборудование, проекционная система, 3D дисплей и голографические 3D контактные линзы.
Пример устройства 120 пользователя для взаимодействия с системой 100 иллюстрируется на Фиг. 2. В примерном варианте осуществления, показанном на Фиг. 2, пользователь 120 может взаимодействовать с одним или более цифровыми мирами посредством интеллектуального телефона 220. Шлюз реализуется посредством приложения 230 программного обеспечения, хранящегося и работающего на интеллектуальном телефоне 220. В данном конкретном примере, сеть 130 передачи данных включает в себя беспроводную мобильную сеть, соединяющую устройство пользователя (например, интеллектуальный телефон 220) с компьютерной сетью 105.
В одной реализации предпочтительного варианта осуществления, система 100 выполнена с возможностью одновременной поддержки большого количества пользователей (например, миллионов пользователей), каждый из которых взаимодействует с одним и тем же цифровым миром или с несколькими цифровыми мирами, используя некоторый тип устройства 120 пользователя.
Устройство пользователя предоставляет пользователю интерфейс, чтобы обеспечить визуальное, слышимое и/или физическое взаимодействие между пользователем и цифровым миром, генерируемым серверами 110, включающим в себя других пользователей и объекты (реальные или виртуальные), представленные пользователю. Интерфейс предоставляет пользователю сформированную сцену, которая может быть просмотрена, прослушана или иным образом зафиксирована, и возможность взаимодействия со сценой в режиме реального времени. Способ, посредством которого пользователь взаимодействует со сформированной сценой, может быть продиктован способностями устройства пользователя. Например, если устройством пользователя является интеллектуальный телефон, то взаимодействие пользователя может быть реализовано посредством того, что пользователь контактирует с сенсорным экраном. В другом примере, если устройство пользователя является компьютером или игровой консолью, то взаимодействие пользователя может быть реализовано при помощи клавиатуры или игрового контроллера. Устройства пользователя могут включать в себя дополнительные компоненты, которые обеспечивают пользователю возможность взаимодействия, такие как датчики, при этом объекты и информация (включая жесты), обнаруживаемая датчиками, может быть предоставлена в качестве ввода, представляющего взаимодействие пользователя с виртуальным миром при помощи устройства пользователя.
Сформированная сцена может быть представлена в различных форматах, таких как, например, двумерное или трехмерное визуальные отображения (включая проекции), звук и осязаемая или тактильная обратная связь. Пользователь может взаимодействовать со сформированной сценой при помощи одного или более режимов, включая, например, дополненную реальность, виртуальную реальность и их сочетание. Формат сформированной сцены, а также режимы интерфейса могут быть продиктованы одним или более из следующего: устройством пользователя, способностями по обработке данных, возможностями обеспечения соединения устройства пользователя, емкостью сети и рабочей нагрузкой системы. Наличие большого количества пользователей, одновременно взаимодействующих с цифровыми мирами, и обмен данными в режиме реального времени обеспечивается вычислительной сетью 105, серверами 110, компонентом 140 шлюза (опционально) и устройством 120 пользователя.
В одном варианте осуществления, вычислительная сеть 105 состоит из большой вычислительной системы с одноядерными и/или многоядерными серверами (т.е. серверами 110), соединенными посредством высокоскоростных соединений (например, интерфейсов 115 с высокой пропускной способностью). Вычислительная сеть 105 может образовывать облачную сеть или сеть с топологией решетки. Каждый из серверов включает в себя память, или соединен с машиночитаемой памятью для хранения программного обеспечения для реализации данных для создания, проектирования, изменения или обработки объектов цифрового мира. Эти объекты и их экземпляры могут быть динамическими, начинать и прекращать существование, меняться со временем и меняться в ответ на другие условия. Примеры динамических способностей объекта в целом рассматриваются здесь применительно к различным вариантам осуществления. В некоторых вариантах осуществления, каждый пользователь, взаимодействующий с системой 100, также может быть представлен в качестве объекта и/или совокупности объектов внутри одного или более цифровых миров.
Серверы 110 внутри вычислительной сети 105 также хранят данные вычисленного состояния для каждого из цифровых миров. Данные вычисленного состояния (также именуемые здесь данными состояния) могут быть компонентом данных объекта и в целом определяют состояние экземпляра объекта в заданный момент времени. Таким образом, данные вычисленного состояния могут меняться со временем и могут быть подвержены воздействию посредством действий одного или более пользователей и/или программистов, обслуживающих систему 100. По мере того, как пользователь оказывает воздействие на данные вычисленного состояния (или другие данные, которые содержатся в цифровых мирах), пользователь непосредственно изменяет или иным образом манипулирует цифровым миром. Если цифровой мир совместно используется с, или взаимодействует с, другими пользователями, то действия пользователя могут оказывать влияние на то, что воспринимается другими пользователями, взаимодействующими с цифровым миром. Таким образом, в некоторых вариантах осуществления, изменения в цифровом мире, выполненные пользователем, будут фиксироваться другими пользователями, взаимодействующими с системой 100.
Данные, которые хранятся на одном или более серверах 110 внутри вычислительной сети 105, в одном варианте осуществления, передаются или размещаются с высокой скоростью, и с низкой задержкой, на одном или более устройствах 120 пользователя и/или компоненте 140 шлюза. В одном варианте осуществления, данные объекта, совместно используемые серверами, могут быть полными или могут быть сжаты и могут содержать инструкции для восстановления полных данных объекта на стороне пользователя, их представление может формироваться и визуализироваться локальным вычислительным устройством пользователя (например, шлюзом 140 и/или устройством 120 пользователя). Программное обеспечение, работающее на серверах 110 вычислительной сети 105, может, в некоторых вариантах осуществления, использовать данные, которые оно генерирует, и отправлять конкретному устройству 120 пользователя применительно к объектам внутри цифрового мира (или любые другие данные, обмен которыми осуществляется посредством вычислительной сети 105), в зависимости от конкретного устройства пользователя и ширины полосы пропускания. Например, когда пользователь взаимодействует с цифровым миром посредством устройства 120 пользователя, сервер 110 может распознать конкретный тип устройства, используемого пользователем, возможности соединения устройства и/или доступную полосу пропускания между устройством пользователя и сервером, и соответствующим образом изменить размер и сбалансировать данные, доставляемые устройству, чтобы оптимизировать взаимодействие пользователя. Пример этого может включать в себя сокращение размера передаваемых данных до качества с низким разрешением, с тем чтобы данные могли быть отображены на конкретном устройстве пользователя с дисплеем с низким разрешением. В предпочтительном варианте осуществления, вычислительная сеть 105 и/или компонент 140 шлюза доставляет данные устройству 120 пользователя на скорости, достаточной для представления интерфейса, работающего при 15 кадрах в секунду и выше, и с разрешением, которое соответствует качеству высокой четкости или выше.
Шлюз 140 обеспечивает локальное соединение с вычислительной сетью 105 для одного или более пользователей. В некоторых вариантах осуществления он может быть реализован посредством скачиваемого приложения программного обеспечения, которое работает на устройстве 120 пользователя или другом локальном устройстве, таком как то, что показано на Фиг. 2. В других вариантах осуществления, он может быть реализован посредством компонента аппаратного обеспечения (с соответствующим программным обеспечением/встроенным программным обеспечением (firmvare), хранящимся в компоненте, оснащенном процессором), который либо осуществляет связь с, но не встроен в или не прикреплен к, устройством 120 пользователя, либо встроен в устройство 120 пользователя. Шлюз 140 осуществляет связь с вычислительной сетью 105 через сеть 130 передачи данных и обеспечивает обмен данными между вычислительной сетью 105 и одним или более локальными устройствами 120 пользователя. Как рассматривается более подробно ниже, компонент 140 шлюза может включать в себя программное обеспечение, встроенное программное обеспечение, память и процессорную схему (схему обработки данных), и может быть выполнен с возможностью обработки данных, которые передаются между сетью 105 и одним или более локальными устройствами 120 пользователя.
В некоторых вариантах осуществления, компонент 140 шлюза наблюдает и регулирует скорость обмена данными между устройством 120 пользователя и вычислительной сетью 105 для обеспечения оптимальных способностей обработки данных для конкретного устройства пользователя 120. Например, в некоторых вариантах осуществления, шлюз 140 буферизует и загружает как статические, так и динамические аспекты цифрового мира, даже те, которые находятся за пределами обзора, представляемого пользователю посредством интерфейса, соединенного с устройством пользователя. В таких вариантах осуществления, экземпляры статических объектов (структурированные данные, реализованные в программном обеспечении методы, или оба их этого) могут быть сохранены в памяти (локальной по отношению к компоненту 140 шлюза, устройству 120 пользователя или им обоим), и они привязаны к локальной текущей позиции пользователя, как указывается данными, предоставляемыми вычислительной сетью 105 и/или устройством 120 пользователя. Экземпляры динамических объектов, которые могут включать в себя, например, агенты интеллектного программного обеспечения и объекты, которые управляются другими пользователями и/или локальным пользователем, хранятся в буфере высокоскоростной памяти. Динамические объекты, представляющие собой двумерный или трехмерный объект внутри сцены, представляемой пользователю, могут быть, например, разбиты на составляющие формы, такие как статическая форма, которая перемещается, но не меняется, и динамическая форма, которая меняется. Часть динамического объекта, которая меняется, может обновляться в режиме реального времени посредством цепочечного высокоприоритетного потока данных от сервера 110, через вычислительную сеть 105, который управляется компонентом 140 шлюза. В качестве одного примера приоритетного цепочечного потока данных, данным, которые находятся в диапазоне 60-градусного поля обзора глаза пользователя, может быть назначен более высокий приоритет в сравнении с данными, которые являются периферийными. Другой пример включает в себя назначение более высокого приоритета динамическим персонажам и/или объектам в диапазоне поля обзора пользователя, чем статическим объектам на заднем плане.
В дополнение к управлению информационным соединением между вычислительной сетью 105 и устройством 120 пользователя, компонент 140 шлюза может хранить и/или обрабатывать данные, которые могут быть представлены устройству 120 пользователя. Например, компонент 140 шлюза может, в некоторых вариантах осуществления, принимать сжатые данные, описывающие, например, графические объекты, представление которых должно быть сформировано для просмотра пользователем, от вычислительной сети 105, и выполнять усовершенствованные методики рендеринга с тем, чтобы смягчить нагрузку, связанную с данными, передаваемыми устройству 120 пользователя от вычислительной сети 105. В другом примере, в котором шлюз 140 является отдельным устройством, шлюз 140 может сохранять и/или обрабатывать данные для локального экземпляра объекта, вместо передачи данных в вычислительную сеть 105 для обработки.
Теперь, опять же обращаясь к Фиг. 3, цифровые миры могут восприниматься одним или более пользователями в различных форматах, которые могут зависеть от функциональных способностей устройства пользователя. В некоторых вариантах осуществления, устройство 120 пользователя может включать в себя, например, интеллектуальный телефон, планшетное устройство, дисплей головного монтажа (HUD), игровую консоль или носимое устройство. В целом, устройство пользователя будет включать в себя процессор для исполнения программного кода, хранящегося в памяти в устройстве, соединенной с дисплеем, и интерфейсом связи. Примерный вариант осуществления устройства пользователя иллюстрируется на Фиг. 3, при этом устройство пользователя выполнено в виде мобильного, носимого устройства, а именно системы 300 головного монтажа. В соответствии с вариантом осуществления настоящего изобретения, система 300 головного монтажа включает в себя интерфейс 302 пользователя, систему 304 фиксации пользователя, систему 306 фиксации среды и процессор 308. Несмотря на то, что процессор 308 показан на Фиг. 3 в качестве изолированного компонента, отдельно от системы 300 головного монтажа, в альтернативном варианте осуществления процессор 308 может быть объединен с одним или более компонентами системы 300 головного монтажа или может быть интегрирован в другие компоненты системы 100, такие как, например, шлюз 140.
Устройство пользователя представляет пользователю интерфейс 302 для обеспечения взаимодействия и восприятия цифрового мира. Такое взаимодействие может быть связано с пользователем и цифровым миром, одним или более другими пользователями, взаимодействующими с системой 100, и объектами внутри цифрового мира. Интерфейс 302 главным образом обеспечивает сенсорный ввод посредством изображения и/или аудио (и в некоторых вариантах осуществления, физический сенсорный ввод) пользователю. Таким образом, интерфейс 302 может включать в себя громкоговорители (не показаны) и компонент 303 отображения, выполненный с возможностью, в некоторых вариантах осуществления, обеспечения стереоскопического 3D просмотра и/или 3D просмотра, который воплощает более естественные характеристики зрительной системы человека. В некоторых вариантах осуществления, компонент 303 отображения может быть выполнен в виде прозрачного интерфейса (такого как прозрачный OLED), который, при настройке «выключен», обеспечивает оптически правильный обзор физической среды вокруг пользователя с небольшим до отсутствующего оптическим искажением или компьютерным наложением. Как более подробно рассматривается ниже, интерфейс 302 может включать в себя дополнительные настройки, которые обеспечивают многообразие вариантов работы визуального представления/интерфейса и функциональных возможностей.
Система 304 фиксации пользователя может включать в себя, в некоторых вариантах осуществления, один или более датчиков 310, которые работают для обнаружения некоторых свойств, характеристик или информации, связанной с отдельным пользователем, который носит систему 300. Например, в некоторых вариантах осуществления, датчики 310 могут включать в себя камеру или схему оптического обнаружения/сканирования, выполненную с возможностью обнаружения в режиме реального времени оптических характеристик/измерения пользователя, таких как, например, одно или более из следующего: сужение/расширение зрачка, измерение/позиционирование по углу каждого зрачка, сферичность, форму глаза (по мере того как форма глаза меняется со временем) и другие анатомические данные. Эти данные могут предоставлять, или могут быть использованы для вычисления, информацию (например, точку визуального фокуса пользователя), которая может быть использована системой 300 головного монтажа и/или системой 100 интерфейса для оптимизации восприятия пользователя от просмотра. Например, в одном варианте осуществления, каждый из датчиков 310 может измерять скорость сокращения зрачка для каждого из глаз пользователя. Эти данные могут быть переданы процессору 308 (или компоненту 140 шлюза или серверу 110), при этом данные используются для определения, например, реакции пользователя на настройки яркости компонента 303 отображения. Интерфейс 302 может быть отрегулирован в соответствии с реакцией пользователя посредством, например, уменьшения силы света компонента 303 отображения, если реакция пользователя указывает на то, что уровень яркости компонента 303 отображения слишком высокий. Система 304 фиксации пользователя может включать в себя другие компоненты, отличные от тех, что рассматривались выше или иллюстрируются на Фиг. 3. Например, в некоторых вариантах осуществления система 304 фиксации пользователя может включать в себя микрофон для приема голосового ввода от пользователя. Система фиксации пользователя также может включать в себя один или более датчиков инфракрасной камеры, один или более датчиков камеры видимого спектра, излучатели и/или датчики структурированного света, излучатели инфракрасного света, излучатели и/или датчики когерентного света, гироскоп, датчики ускорения, магнитометры, датчики близости, датчики GPS, ультразвуковые излучатели и детекторы и осязательные интерфейсы.
Система 306 фиксации среды включает в себя один или более датчиков 312 для получения данных из физической среды вокруг пользователя. Объекты или информация, которая обнаруживается датчиками, могут предоставляться в качестве ввода устройству пользователя. В некоторых вариантах осуществления, этот ввод может представлять собой взаимодействие пользователя с виртуальным миром. Например, пользователь, просматривающий виртуальную клавиатуру на столе, может жестикулировать с помощью его пальцев, как если бы он печатал на виртуальной клавиатуре. Движение перемещающихся пальцев может быть захвачено датчиками 312 и предоставлено устройству пользователя или системе в качестве ввода, при этом ввод может быть использован для изменения виртуального мира или для создания новых виртуальных объектов. Например, движение пальцев может быть распознано (при помощи программы программного обеспечения) в качестве печати, и распознанный жест печати может быть объединен с известным местоположением виртуальных клавиш на виртуальной клавиатуре. Затем система может формировать виртуальный монитор, отображаемый пользователю (или другим пользователям, взаимодействующим с системой), при этом виртуальный монитор отображает текст, который напечатал пользователь.
Датчики 312 могут включать в себя, например, как правило, направленную наружу камеру или сканер для интерпретации информации сцены, например, посредством непрерывно и/или периодически проецируемого инфракрасного структурированного света. Система 306 фиксации среды может быть использована для построения карты соответствий применительно к одному или более элементам физической среды вокруг пользователя посредством обнаружения и регистрации локальной среды, включая статические объекты, динамические объекты, людей, жесты и различные условия освещения, атмосферные и акустические условия. Таким образом, в некоторых вариантах осуществления система 306 фиксации среды может включать в себя программное обеспечение 3D реконструкции на основе изображения, которое встроено в локальную вычислительную систему (например, компонент 140 шлюза или процессор 308) и которое работает для реконструкции цифровым образом одного или более объектов или информации, обнаруженных датчиками 312. В одном примерном варианте осуществления, система 306 фиксации среды обеспечивает одно или более из следующего: данные захвата движения (включая распознавание жестов), зондирование глубины, распознавание лиц, распознавание объектов, распознавание уникального свойства объекта, распознавание и обработку голоса/аудио, определение местоположения акустического источника, шумоподавление, инфракрасное или подобное лазерное проецирование, а также и монохромные или цветные CMOS датчики (или другие подобные датчики), датчики поля обзора и многообразие других оптико-усиливающих датчиков. Следует иметь в виду, что система 306 фиксации среды может включать в себя другие компоненты, отличные от тех, что рассмотрены выше или проиллюстрированы на Фиг. 3. Например, в некоторых вариантах осуществления система 306 фиксации среды может включать в себя микрофон для приема аудио от локальной среды. Система фиксации пользователя также может включать в себя один или более датчиков инфракрасной камеры, либо один или более датчиков камеры видимого спектра, излучателей и/или датчиков структурированного света, излучателей инфракрасного света, излучателей и/или датчиков когерентного света, гироскопов, датчиков ускорения, магнетометров, датчиков близости, датчиков GPS, ультразвуковых излучателей и детекторов и осязательных интерфейсов.
Как упомянуто выше, процессор 308 может, в некоторых вариантах осуществления, быть объединен с другими компонентами системы 300 головного монтажа, объединен с другими компонентами системы 100 интерфейса, или может быть изолированным устройством (носимым или отдельным от пользователя), как показано на Фиг. 3. Процессор 308 может быть соединен с различными компонентами системы 300 головного монтажа и/или компонентами системы 100 интерфейса посредством физического, проводного соединения, или посредством беспроводного соединения, такого как, например, соединения мобильной сети (включая сотовый телефон и сети передачи данных), Wi-Fi или Bluetooth. Процессор 308 может включать в себя модуль памяти, интегрированный и/или дополнительный блок обработки графики, средства беспроводной и/или проводной связи с интернет, кодек и/или встроенное программное обеспечение, выполненное с возможностью преобразования данных от источника (например, вычислительной сети 105, системы 304 фиксации пользователя, системы 306 фиксации среды, или компонента 140 шлюза) в аудиоданные и данные изображения, при этом изображения/видео и аудио могут быть представлены пользователю через интерфейс 302.
Процессор 308 осуществляет обработку данных для различных компонентов системы 300 головного монтажа, как, впрочем, и данных, обмен которыми осуществляется между системой 300 головного монтажа и компонентом 140 шлюза и, в некоторых вариантах осуществления, вычислительной сетью 105. Например, процессор 308 может быть использован для буферизации и обработки данных, потоковая передача которых осуществляется между пользователем и вычислительной сетью 105, тем самым обеспечивая гладкое, непрерывное и с высокой точностью воспроизведения восприятие пользователя. В некоторых вариантах осуществления, процессор 308 может обрабатывать данные на скорости, достаточной для получения везде от 8 кадров в секунду при разрешении 320×240 до 24 кадров в секунду при разрешении высокой четкости (1280×720) или выше, как например, 60-120 кадров в секунду при разрешении 4k и выше (10k+ разрешение и 50000 кадров в секунду). Дополнительно, процессор 308 может сохранять и/или обрабатывать данные, которые могут быть представлены пользователю, вместо их потоковой передачи в реальном времени из вычислительной сети 105. Например, процессор 308 может, в некоторых вариантах осуществления, принимать сжатые данные от вычислительной сети 105 и выполнять усовершенствованные методики рендеринга (такие как подсветка и затенение) для облегчения нагрузки, связанной с данными, передаваемыми устройству 120 пользователя от вычислительной сети 105. В другом примере, процессор 308 может сохранять и/или обрабатывать локальные данные объекта вместо передачи данных компоненту 140 шлюза или вычислительной сети 105.
Система 300 головного монтажа может, в некоторых вариантах осуществления, включать в себя различные настройки или режимы которые обеспечивают многообразие вариантов работы визуального представления/интерфейса и функциональных возможностей. Режимы могут быть выбраны вручную пользователем либо автоматически компонентами системы 300 головного монтажа или компонента 140 шлюза. Как упоминалось ранее, один пример системы 300 головного монтажа включает в себя «выключенный» режим, при этом интерфейс 302, по существу, не предоставляет цифрового или виртуального контента. В выключенном режиме компонент 303 отображения может быть прозрачным, тем самым обеспечивая оптически правильный обзор физической среды вокруг пользователя с небольшим, вплоть до отсутствующего, оптическим искажением или компьютерным наложением.
В одном примерном варианте осуществления, система 300 головного монтажа включает в себя «дополненный» режим, при этом интерфейс 302 предоставляет интерфейс дополненной реальности. В дополненном режиме компонент 303 отображения может быть, по существу, прозрачным, тем самым позволяя пользователю видеть локальную физическую среду. В то же самое время, данные виртуального объекта, предоставляемые вычислительной сетью 105, процессором 308 и/или компонентом 140 шлюза, представляются на компоненте 303 отображения в сочетании с физической локальной средой.
Фиг. 4 иллюстрирует примерный вариант осуществления объектов, которые просматриваются пользователем, когда интерфейс 302 работает в дополненном режиме. Как показано на Фиг. 4, интерфейс 302 представляет физический объект 402 и виртуальный объект 404. В варианте осуществления, иллюстрируемом на Фиг. 4, физический объект 402 является реальным физическим объектом, существующим в локальной среде пользователя, тогда как виртуальный объект 404 является объектом, созданным системой 100 и отображаемым через интерфейс 302 пользователя. В некоторых вариантах осуществления, виртуальный объект 404 может отображаться в закрепленной позиции или местоположении в пределах физической среды (например, виртуальная обезьяна, стоящая рядом с конкретной уличной вывеской, расположенной в физической среде), или может отображаться пользователю в качестве объекта, расположенного в позиции относительно интерфейса пользователя/компонента 303 отображения (например, виртуальные часы или термометр, видимые в верхнем левом углу компонента 303 отображения).
В некоторых вариантах осуществления виртуальные объекты могут быть выполнены таким образом, чтобы им подавался сигнал от, или они инициировались посредством, объекта, физически присутствующего внутри или вне поля обзора пользователя. Виртуальному объекту 404 подается сигнал от, или он инициируется посредством, физического объекта 402. Например, физический объект 402 фактически может быть стулом, и виртуальный объект 404 может отображаться пользователю (и, в некоторых вариантах осуществления, другим пользователям, взаимодействующим с системой 100) в качестве виртуального животного, стоящего на стуле. В таком варианте осуществления, система 306 фиксации среды может использовать программное обеспечение и/или встроенное программное обеспечение, хранящееся, например, в процессоре 308, для распознавания различных свойств и/или шаблонов формы (которые захватываются датчиками 312) для идентификации физического объекта 402 в качестве стула. Эти распознанные шаблоны формы, такие как, например, верхняя часть стула, могут быть использованы для инициирования размещения виртуального объекта 404. Другие примеры включают в себя стены, столы, мебель, автомобили, здания, людей, полы, растения, животных - любой объект, который виден, может быть использован для инициирования восприятия в режиме дополненной реальности с некоторой зависимостью в отношении объекта или объектов.
В некоторых вариантах осуществления конкретный виртуальный объект 404, которой инициируется, может быть выбран пользователем или автоматически выбран другими компонентами системы 300 головного монтажа или системы 100 интерфейса. Дополнительно, в вариантах осуществления, в которых виртуальный объект 404 инициируется автоматически, конкретный виртуальный объект 404 может быть выбран на основании конкретного физического объекта 402 (или его свойства), посредством которого виртуальному объекту подается сигнал или посредством которого он инициируется. Например, если физический объект идентифицирован в качестве трамплина для прыжков в воду над бассейном, то инициируемый виртуальный объект может быть создан с трубкой для подводного плавания, в купальном костюме, с устройством, обеспечивающем плавучесть, или другими соответствующими элементами.
В другом примерном варианте осуществления, система 300 головного монтажа может включать в себя «виртуальный» режим, при этом интерфейс 302 предоставляет интерфейс виртуальной реальности. В виртуальном режиме, физическая среда исключается из компонента 303 отображения, и данные виртуального объекта, предоставляемые вычислительной сетью 105, процессором 308 и/или компонентом 140 шлюза, представляются на компоненте 303 отображения. Исключение физической среды может быть выполнено посредством физической визуальной блокировки компонента 303 отображения (например, посредством крышки) или посредством свойства интерфейса 302, при этом компонент 303 отображения переходит к настройке непрозрачности. В виртуальном режиме, живые и/или хранящиеся визуальные и аудио фиксации могут быть представлены пользователю посредством интерфейса 302, и пользователь воспринимает и взаимодействует с цифровым миром (цифровыми объектами, другими пользователями и т.д.) через виртуальный режим интерфейса 302. Таким образом, интерфейс, предоставляемый пользователю в виртуальном режиме, состоит из данных виртуального объекта, содержащих виртуальный, цифровой мир.
Фиг. 5 иллюстрирует примерный вариант осуществления интерфейса пользователя, когда интерфейс 302 головного монтажа работает в виртуальном режиме. Как показано на Фиг. 5, интерфейс пользователя представляет виртуальный мир 500, состоящий из цифровых объектов 510, при этом цифровые объекты 510 могут включать в себя атмосферу, погоду, местность, здания и людей. Несмотря на то, что не проиллюстрировано на Фиг. 5, цифровые объекты также могут включать в себя, например, растения, транспортные средства, животных, создания, машины, искусственный интеллект, информацию о местоположении и любой другой объект или информацию, определяющую виртуальный мир 500.
В другом примерном варианте осуществления, система 300 головного монтажа может включать в себя «смешанный» режим, при этом различные свойства системы 300 головного монтажа (как, впрочем, и свойства виртуального и дополненного режимов) могут быть объединены для создания одного или более режимов пользовательского интерфейса. В одном примерном режиме пользовательского интерфейса, физическая среда исключается из компонента 303 отображения, а данные виртуального объекта представляются на компоненте 303 отображения образом, подобным тому, что используется в виртуальном режиме. Тем не менее, в данном примерном режиме пользовательского интерфейса, виртуальные объекты могут быть полностью виртуальными (т.е. они не существуют в локальной физической среде) или они могут быть реальными локальными физическими объектами, изображение которых сформированы в качестве виртуального объекта в интерфейсе 302 вместо физического объекта. Таким образом, в данном конкретном пользовательском режиме (именуемом здесь как режим смешанного виртуального интерфейса) живые и/или сохраненные визуальные и аудио фиксации могут быть представлены пользователю посредством интерфейса 302, и пользователь воспринимает и взаимодействует с цифровым миром, который содержит полностью виртуальные объекты и сформированные физические объекты.
Фиг. 6 иллюстрирует примерный вариант осуществления интерфейса пользователя, работающего в соответствии с режимом смешанного виртуального интерфейса. Как показано на Фиг. 6, интерфейс пользователя представляет виртуальный мир 600 состоящий из полностью виртуальных объектов 610 и визуализированных физических объектов 620 (сформированных представления объектов, которые физически присутствуют в сцене). В соответствии с примером, иллюстрируемым на Фиг. 6, сформированные представления физических объектов 620 включают в себя здание 620A, землю 620B и платформу 620C, и показаны с помощью полужирного контура 630, чтобы указать пользователю на то, что объекты сформированы посредством рендеринга. Дополнительно, полностью виртуальные объекты 610 включают в себя дополнительного пользователя 610A, облака 610B, солнце 610C и языки 610D пламени на верхней части платформы 620C. Следует иметь в виду, что полностью виртуальные объекты 610 могут включать в себя, например, атмосферу, погоду, местность, здания, людей, растения, транспортные средства, животных, созданий, машины, искусственный интеллект, информацию о местоположении и любой другой объект или информацию, определяющую виртуальный мир 600, и они не сформированные из объектов, существующих в локальной физической среде. И наоборот, визуализированные физические объекты 620 являются реальными локальными физическими объектами, представление которых сформировано в качестве виртуального объекта в интерфейсе 302. Полужирный контур 630 представляет собой один пример для указания пользователю визуализированного физического объекта. При этом визуализированный физический объект может быть указан, как таковой, при помощи способов, отличных от тех, что здесь описываются.
В некоторых вариантах осуществления, визуализируемые физические объекты 620 могут быть обнаружены при помощи датчиков 312 системы 306 фиксации среды (или при помощи других устройств, таких как система захвата движения или изображения) и преобразованы в данные цифрового объекта посредством программного обеспечения и/или встроенного программного обеспечения, хранящегося, например, в схеме 308 обработки. Таким образом, когда пользователь взаимодействует с системой 100 в режиме смешанного виртуального интерфейса, различные физические объекты могут отображаться пользователю в качестве визуализированных физических объектов. Это может быть, в частности, полезно для того, чтобы предоставить пользователю возможность взаимодействия с системой 100, при этом обеспечивая способность безопасной навигации в локальной физической среде. В некоторых вариантах осуществления пользователь может иметь возможность выборочного удаления или добавления сформированных представлений физических объектов на компонент 303 отображения.
В другом примерном пользовательском режиме интерфейса, компонент 303 отображения может быть, по существу, прозрачным, тем самым позволяя пользователю видеть локальную физическую среду, тогда как различные локальные физические объекты отображаются пользователю в качестве сформированных представлений физических объектов. Данный примерный пользовательский режим интерфейса аналогичен дополненному режиму, за исключением того, что один или более из виртуальных объектов могут быть сформированными представлениями физических объектов, как рассматривалось выше применительно к предыдущему примеру.
Вышеприведенные примерные пользовательские режимов интерфейса представляют собой несколько примерных вариантов осуществления различных пользовательских режимов интерфейса, которые могут быть обеспечены посредством смешанного режима системы 300 головного монтажа. Соответственно, различные другие пользовательские режимы интерфейса могут быть созданы из различных сочетаний свойств и функциональных возможностей, которые предоставляются компонентами системы 300 головного монтажа, и различных режимов, рассмотренных выше, не отступая от объема настоящего изобретения.
Рассматриваемые здесь варианты осуществления описывают несколько примеров для предоставления интерфейса, работающего в выключенном, дополненном, виртуальном или смешанном режиме, и не предназначены ограничить объем или содержимое соответствующих режимов интерфейса или функциональные возможности компонентов системы 300 головного монтажа. Например, в некоторых вариантах осуществления виртуальные объекты могут включать в себя данные, отображаемые пользователю (время, температуру, высоту и т.д.), объекты, созданные и/или выбранные системой 100, объекты, созданные и/или выбранные пользователем, или даже объекты, представляющие других пользователей, взаимодействующих с системой 100. Дополнительно, виртуальные объекты могут включать в себя расширение физических объектов (например, виртуальную скульптуру, вырастающую их физической платформы) и могут быть визуально соединены, или разъединены, с физическим объектом.
Виртуальные объекты также могут быть динамическими и меняться во времени, меняться в соответствии с различными зависимостями (например, местоположением, расстоянием и т.д.) между пользователем или другими пользователями, физическими объектами и другими виртуальными объектами, и/или меняться в соответствии с другими переменными, указанными в программном обеспечении и/или встроенном программном обеспечении системы 300 головного монтажа, компонента 140 шлюза и серверов 110. Например, в некоторых вариантах осуществления виртуальный объект может реагировать на устройство пользователя или его компонент (например, виртуальный мяч перемещается, когда осязательное устройство помещается рядом с ним), физическое или вербальное взаимодействие пользователя (например, виртуальное существо убегает, когда к нему приближается пользователь, или разговаривает, когда пользователь с ним говорит), в виртуальное существо кидают стул и существо уворачивается от стула, другие виртуальные объекты (например, первое виртуальное существо реагирует, когда оно видит второе виртуальное существо), физические переменные, такие как местоположение, расстояние, температура, время и т.д., или другие физические объекты в среде пользователя (например, виртуальное существо, показанное стоящим на физической улице, становится плоским, когда проезжает физический автомобиль).
Различные рассмотренные здесь режимы могут быть применены к устройствам пользователя, отличным от системы 300 головного монтажа. Например, интерфейс дополненной реальности может быть обеспечен через мобильный телефон или планшетное устройство. В таком варианте осуществления, телефон или планшет может использовать камеру для захвата физической среды вокруг пользователя, и виртуальные объекты могут накладываться на экран отображения телефона/планшета. Дополнительно, виртуальный режим может быть предоставлен посредством отображения цифрового мира на экране отображения телефона/планшета. Соответственно, эти режимы могут быть смешаны таким образом, чтобы создавать различные пользовательские режимы интерфейса, как описано выше, при помощи рассматриваемых здесь компонентов телефона/планшета, как впрочем, и других компонентов, соединенных с, или используемых в сочетании с, устройством пользователя. Например, режим смешанного виртуального интерфейса может быть обеспечен посредством компьютерного монитора, телевизионного экрана или другого устройства без камеры, работающего в сочетании с системой захвата движения или изображения. В данном примерном варианте осуществления, виртуальный мир может просматриваться через монитор/экран, а обнаружение и рендеринг объекта может выполняться системой захвата движения или изображения.
Фиг. 7 иллюстрирует примерный вариант осуществления настоящего изобретения, при этом каждый из двух пользователей, находящихся в разных географических местоположениях, взаимодействует с другим пользователем и общим виртуальным миром посредством их соответствующих устройств пользователя. В данном варианте осуществления, два пользователя 701 и 702 бросают виртуальный мяч 703 (тип виртуального объекта) туда и обратно, при этом каждый пользователь имеет возможность наблюдать за воздействием другого пользователя на виртуальный мир (например, каждый пользователь наблюдает виртуальный мяч, который меняет направления, который ловит другой пользователь и т.д.). Поскольку перемещение и местоположение виртуальных объектов (т.е. виртуального мяча 703) отслеживается серверами 110 в вычислительной сети 105, то система 100 может, в некоторых вариантах осуществления, сообщать пользователям 701 и 702 точное местоположение и временную привязку прибытия мяча 703 по отношению к каждому пользователю. Например, если первый пользователь 701 находится в Лондоне, то пользователь 701 может кидать мяч 703 второму пользователю 702, который находится в Лос-Анджелесе, со скоростью, которая вычисляется системой 100. Соответственно, система 100 может сообщать второму пользователю 702 (например, посредством электронной почты, текстового сообщения, мгновенного сообщения и т.д.) точное время и местоположение прибытия мяча. По существу, второй пользователь 702 может использовать свое устройство для того, чтобы видеть мяч 703, прибывающий в указанное время и местоположение. Один или более пользователей также могут использовать картографическое программное обеспечение геолокации (или ему подобное) для отслеживания одного или более виртуальных объектов по мере их виртуального путешествия по всему миру. Примером этого может быть пользователь с 3D дисплеем головного монтажа, который смотрит в небо и видит летящий над головой виртуальный самолет, наложенный на реальный мир. Виртуальный самолет может быть поднят пользователем, посредством агентов интеллектуального программного обеспечения (программного обеспечения, работающего на устройстве пользователя или шлюзе), другими пользователями, которые могут быть локальными и/или удаленными, и/или любыми их сочетаниями.
Как упоминалось ранее, устройство пользователя может включать в себя устройство осязательного интерфейса, при этом устройство осязательного интерфейса обеспечивает обратную связь (например, сопротивление, вибрацию, световую сигнализацию, звук и т.д.) пользователю, когда системой 100 определяется, что осязательное устройство находится в физическом пространственном местоположении по отношению к виртуальному объекту. Например, вариант осуществления, описанный выше в отношении Фиг. 7, может быть расширен для того, чтобы включать в себя использование осязательного устройства 802, как показано на Фиг. 8.
В данном примерном варианте осуществления, осязательное устройство 802 может отображаться в виртуальном мире в качестве бейсбольной биты. Когда мяч 703 прибывает, пользователь 702 может ударять осязательным устройством 802 по виртуальному мячу 703. Если система 100 определяет, что виртуальная бита, обеспечиваемая осязательным устройством 802, «контактирует» с мячом 703, тогда осязательное устройство 802 может вибрировать или обеспечивать другую обратную связь для пользователя 702, и виртуальный мяч 703 может отскакивать от виртуальной биты в направлении, вычисленном системой 100 в соответствии с обнаруженной скоростью, направлением и временной привязкой контакта мяч-бита.
Раскрываемая система 100 может, в некоторых вариантах осуществления, способствовать взаимодействию в комбинированном режиме, при этом несколько пользователей может взаимодействовать с общим виртуальным миром (и виртуальными объектами, которые содержаться в нем), используя разные режимы интерфейса (например, дополненный, виртуальный, смешанный и т.д.). Например, первый пользователь, взаимодействующий с конкретным виртуальным миром в режиме виртуального интерфейса, может взаимодействовать со вторым пользователем, который взаимодействует с тем же самым виртуальным миром в режиме дополненной реальности.
Фиг. 9A иллюстрирует пример, в котором первый пользователь 901 (взаимодействующий с цифровым миром системы 100 в режиме смешанного виртуального интерфейса) и первый объект 902 предстают в качестве виртуальных объектов перед вторым пользователем 922, взаимодействующим с тем же самым цифровым миром системы 100 в режиме полной виртуальной реальности. Как описано выше, при взаимодействии с цифровым миром в режиме смешанного виртуального интерфейса, локальные, физические объекты (например, первый пользователь 901 и первый объект 902) могут быть просканированы и визуализированы в качестве виртуальных объектов в виртуальном мире. Первый пользователь 901 может быть просканирован, например, посредством системы захвата движения или аналогичного устройства, и его предоставление может быть сформирован в виртуальном мире (посредством программного обеспечения/встроенного программного обеспечения, хранящегося в системе захвата движения, компоненте 140 шлюза, устройстве 120 пользователя, серверах 110 системы, или других устройствах) в качестве первого визуализированного физического объекта 931. Аналогичным образом, первый объект 902 может быть просканирован, например, посредством системы 306 фиксации среды интерфейса 300 головного монтажа, и его предоставление может быть сформировано в виртуальном мире (посредством программного обеспечения/встроенного программного обеспечения, хранящегося в процессоре 308, компоненте 140 шлюза, устройстве 120 пользователя, серверах 110 системы, или других устройствах) в качестве второго визуализированного физического объекта 932. Первый пользователь 901 и первый объект 902 показаны в первой части 910 Фиг. 9A в качестве физических объектов в физическом мире. Во второй части 920 Фиг. 9A первый пользователь 901 и первый объект 902 показаны так, как они предстают перед вторым пользователем 922, взаимодействующий с тем же самым цифровым миром системы 100 в режиме полной виртуальной реальности: в качестве первого визуализированного физического объекта 931 и второго визуализированного физического объекта 932.
Фиг. 9B иллюстрирует другой примерный вариант осуществления комбинированного режима взаимодействия, в котором первый пользователь 901 взаимодействует с цифровым миром в режиме смешанного виртуального интерфейса, как рассматривалось выше, а второй пользователь 922 взаимодействует с тем же самым цифровым миром (и физической локальной средой 925 второго пользователя) в режиме дополненной реальности. В варианте осуществления на Фиг. 9B первый пользователь 901 и первый объект 902 находятся в первом физическом местоположении 915, а второй пользователь 922 находится в другом втором физическом местоположении 925, отделенном некоторым расстоянием от первого местоположения 915. В данном варианте осуществления виртуальные объекты 931 и 932 могут транспортироваться в режиме реального времени (или близко к реальному времени) в местоположение внутри виртуального мира, соответствующее второму местоположению 925. Таким образом, второй пользователь 922 может наблюдать и взаимодействовать, в физической локальной среде 925 второго пользователя, со визуализированными физическими объектами 931 и 932, представляющими собой первого пользователя 901 и первый объект 902, соответственно.
Фиг. 10 иллюстрирует примерную иллюстрацию обзора со стороны пользователя при взаимодействии с системой 100 в режиме дополненной реальности. Как показано на Фиг. 10, пользователь видит локальную физическую среду (т.е. город с несколькими зданиями), а также и виртуального персонажа 1010 (т.е. виртуальный объект). Позиция виртуального персонажа 1010 может быть инициирована 2D визуальной целью (например, афишей, открыткой или журналом) и/или одним или более 3D опорными кадрами, такими как здания, автомобили, люди, животные, самолеты, части зданий, и/или любым 3D физическим объектом, виртуальным объектом, и/или их сочетаниями. В примере, иллюстрируемом на Фиг. 10, известная позиция зданий в городе может обеспечивать регистрационные реперы и/или информацию и ключевые свойства для рендеринга виртуального персонажа 1010. Дополнительно, картографическое местоположение пользователя (например, предоставленное посредством GPS, датчиков положения в пространстве/позиции и т.д.) или мобильное местоположение относительно зданий, может содержать данные, используемые для отображения виртуального персонажа(ей) 1010. В некоторых вариантах осуществления, данные, используемые для отображения виртуального персонажа 1010, могут содержать визуализируемого персонажа 1010 и/или инструкции (которые должны быть выполнены компонентом 140 шлюза и/или устройством 120 пользователя) для рендеринга виртуального персонажа 1010 или его частей. В некоторых вариантах осуществления, если картографическое местоположение пользователя недоступно или неизвестно, сервер 1010, компонент 140 шлюза и/или устройство 120 пользователя все же может отображать виртуальный объект 1010, используя алгоритм оценки, который оценивает, где могут находиться конкретные виртуальные объекты и/или физические объекты, используя последнюю известную позицию пользователя в зависимости от времени и/или других параметров. Это также может быть использовано для определения позиции любых виртуальных объектов всякий раз, когда возникает препятствие перед датчиками пользователя и/или они работают неисправно.
В некоторых вариантах осуществления, виртуальные персонажи или виртуальные объекты могут быть выполнены в виде статуи, при этом рендеринг виртуальной статуи инициируется посредством физического объекта. Например, теперь обращаясь к Фиг. 11, виртуальная статуя 1110 может быть инициирована реальной физической платформой 1120. Инициирование статуи 1110 может быть выполнено в ответ на визуальный объект или свойство (например, реперы, конструктивные свойства, геометрию, шаблоны, физическое местоположение, высоту и т.д.), которые обнаруживаются устройством пользователя или другими компонентами системы 100. Когда пользователь просматривает платформу 1120 без устройства пользователя, пользователь видит платформу 1120 с отсутствующей статуей 1110. Тем не менее, когда пользователь просматривает платформу 1120 через устройство пользователя, то пользователь видит статую 1110 на платформе 1120, как показано на Фиг. 11. Статуя 1110 является виртуальным объектом и, вследствие этого, может быть стационарной, анимированной, меняться со временем или в отношении позиции просмотра пользователя, или даже меняться в зависимости от того, какой конкретно пользователь просматривает статую 1110. Например, если пользователем является маленький ребенок, то статуей может быть собака; однако, если зрителем является взрослый мужчина, то статуя может быть большим роботом, как показано на Фиг. 11. Это примеры зависимого от пользователя и/или зависимого от состояния восприятий. Это позволит одному или более пользователям воспринимать один или более виртуальных объектов отдельно и/или в сочетании с физическими объектами и воспринимать пользовательские или персонифицированные версии виртуальных объектов. Представление статуи 1110 (или ее частей) может формироваться различными компонентами системы, включая, например, программное обеспечение/встроенное программное обеспечение, установленное на устройстве пользователя. Используя данные, указывающие местоположение и положение устройства пользователя, в сочетании со свойствами регистрации виртуального объекта (т.е. статуи 1110), виртуальный объект (т.е. статуя 1110) образует зависимость с физическим объектом (т.е. платформой 1120). Например, зависимостью одного или более виртуальных объектов от одного или более физических объектов может быть функция расстояния, позиционирования, времени, геолокации, близости к одному или более другим виртуальным объектам и/или любая другая зависимость, которая включает в себя виртуальные и/или физические данные любого рода. В некоторых вариантах осуществления, программное обеспечение распознавания изображения в устройстве пользователя может дополнительно усиливать взаимосвязь между цифровым и физическим объектами.
Интерактивный интерфейс, который обеспечивается раскрываемой системой и способом, может быть реализован для того, чтобы способствовать различным видам деятельности, таким как, например, взаимодействие с одной или более виртуальными средами и объектами, взаимодействие с другими пользователями, а также восприятие различных форм мультимедийного контента, включая рекламные объявления, музыкальные концерты и фильмы. Соответственно, раскрываемая система обеспечивает взаимодействие пользователя таким образом, что пользователь не только просматривает или прослушивает мультимедийный контент, а скорее, активно участвует в и воспринимает мультимедийный контент. В некоторых вариантах осуществления, участие пользователя может включать в себя изменение существующего контента или создание нового контента, который должен быть сформирован в одном или более виртуальных мирах. В некоторых вариантах осуществления мультимедийный контент и/или пользователи, создающие контент, могут быть тематически объединены вокруг творения мифов одного или более виртуальных миров.
В одном примере, музыканты (или другие пользователи) могут создавать музыкальный контент, который должен воспроизводиться для пользователей, взаимодействующих с конкретным виртуальным миром. Музыкальный контент может включать в себя, например, различные синглы, Долгоиграющие Пластинки, альбомы, видео, короткие фильмы и концертные выступления. В одном примере, большое количество пользователей может взаимодействовать с системой 100 для одновременного восприятия виртуального концерта, организованного музыкантами.
В некоторых вариантах осуществления создаваемый мультимедийный контент может содержать код уникального идентификатора, связанный с конкретным субъектом (например, музыкальной группой, артистом, пользователем и т.д.). Код может быть выполнен в виде набора буквенно-цифровых знаков, кодов UPC, кодов QR, 2D изображений-триггеров, триггеров в виде 3D свойства физического объекта или другой цифровой метки, как впрочем, и звука, изображения и/или их обоих. В некоторых вариантах осуществления код также может быть встроен в цифровой мультимедийный контент, с которым можно взаимодействовать при помощи системы 100. Пользователь может получать код (например, посредством уплаты вознаграждения) и выкупать код для доступа к мультимедийному контенту, созданному субъектом, связанным с кодом идентификатора. Мультимедийный контент может быть добавлен или удален из интерфейса пользователя.
В одном варианте осуществления, для того чтобы избежать ограничений по вычислениям и полосе пропускания при прохождении видеоданных в режиме реального времени или в режиме, близком к реальному времени, от одной вычислительной системы к другой с низкой задержкой, как например, от облачной вычислительной системы к локальному процессору, связанному с пользователем, для определения поверхностей может переноситься и использоваться параметрическая информация, касающаяся различных форм и геометрий, при этом текстуры могут переноситься и добавляться к этим поверхностям для обеспечения статических и динамических деталей, таких как основанные на битовых картах видео детали лица человека, соотнесенные с параметрически воссозданной геометрией лица. В качестве другого примера, если система выполнена с возможностью распознавания лица человека и знает, что аватар человека находится в дополненном мире, то система может быть выполнена с возможностью перенаправления релевантной информации мира и информации аватара человека в одной относительно большой настроечной пересылке, после чего оставшиеся пересылки локальной вычислительной системе, такой как 308, изображенная на Фиг. 1, для локального рендеринга, могут быть ограничены обновлениями параметров и текстур, как например, параметров движения скелетной структуры человека и движущихся битовых карт лица человека - причем прядок величины полосы пропускания всех пересылок меньше в сравнение с исходной настроечной пересылкой или перенаправлением видео в режиме реального времени. Таким образом, облачные и локальные вычислительные средства могут быть использованы комплексно, с облачной обработкой вычислений, которые не требуют относительно низкой задержки, и локальными средствами обработки, которые обрабатывают задачи, в которых низкая задержка находится на первом месте, и в таком случае, вид данных, переносимых в локальные системы, предпочтительно переправляется с относительно низкой нагрузкой на полосу пропускания из-за объема таких данных (т.е. параметрическая информация, текстуры и т.д. в сравнение с видео данными всего в режиме реального времени).
Обратимся вперед к Фиг. 15, где схематично иллюстрируется координация между облачными вычислительными средствами (46) и локальными средствами (308, 120) обработки. В одном варианте осуществления, облачные средства (46) функционально связаны, как например, посредством проводной или беспроводной связи (причем беспроводной способ предпочтителен для мобильности, тогда как проводной предпочтителен для создания пересылок с высокой пропускной способностью или большим объемом данных, которые могут потребоваться), непосредственно с (40, 42) одним или обоими локальными вычислительными средствами (120, 308), такими как конфигурации процессора и памяти, которые могут быть размещены в структуре, выполненной с возможностью соединения с головой (120) или поясом (308) пользователя. Эти вычислительные средства, локальные по отношению к пользователю, могут быть также функционально связаны друг с другом, через конфигурации (44) проводной и/или беспроводной связи. В одном варианте осуществления, для сохранения малоинерционной и малогабаритной системы (120) головного монтажа, главная пересылка между пользователем и облаком (46) может осуществляться через связь между поясной подсистемой (308) и облаком, при этом система (120) головного монтажа главным образом связана передачей данных с поясной подсистемой (308), используя беспроводную связь, такую как ультраширокополосная («UWB») связь, что используется в настоящий момент, например, в приложениях связи с персональными вычислительными периферийными устройствами.
С помощью эффективной координации локальной и удаленной обработки и соответствующего устройства отображения для пользователя, такого как интерфейс 302 пользователя или «устройство отображения» пользователя, показанное на Фиг. 3, устройство 14 отображения, описываемое ниже со ссылкой на Фиг. 14, или его вариации, аспекты одного мира, релевантные для текущего фактического или виртуального местоположения пользователя, могут эффективным образом пересылаться или «переправляться» пользователю и обновляться. Конечно, в одном варианте осуществления, когда один человек использует систему виртуальной реальности («VRS») в режиме дополненной реальности, а другой человек использует VRS в полностью виртуальном режиме для исследования одного и того же мира, локального для первого человека, два пользователя могут воспринимать друг друга в этом мире различным образом. Например, обращаясь к Фиг. 12, изображен сценарий, аналогичный тому, что описан со ссылкой на Фиг. 11, с добавлением визуализации аватара 2 второго пользователя, который летит сквозь изображенный мир дополненной реальности из сценария полностью виртуальной реальности. Другими словами, сцена, изображенная на Фиг. 12, может восприниматься и отображаться в дополненной реальности для первого пользователя - с двумя элементами дополненной реальности (статуей 1110 и аватаром 2 второго человека в виде летящего шмеля), которые отображаются в дополнение к фактическим физическим элементам поблизости от локального мира в сцене, такого как земля, здания на земле, платформы 1120 статуи. Может быть использовано динамическое обновление, чтобы обеспечить первому человеку визуализацию продвижения аватара 2 второго человека, по мере того как аватар 2 летит через локальный мир первого человека.
Опять же, при описанной выше конфигурации, в которой существует одна модель мира, которая может находиться на облачных вычислительных ресурсах и распространяться от них, такой мир может быть «перенаправляемым» одному или более пользователям в форме с относительно низкой нагрузкой на полосу пропускания, которая предпочтительнее перенаправления видеоданных в режиме реального времени или подобного. Дополненное восприятие человека, стоящего рядом со статуей (т.е. как показано на Фиг. 12), может быть проинформировано посредством облачной модели мира, подмножество которого может быть перенаправлено ему и его локальному устройству отображения для завершения обзора. Человек, сидящий за удаленным устройством отображения, которое может быть настолько простым, как персональный компьютер, стоящий на столе, может эффективно загружать тот же самый раздел информации из облака и формировать его представление на своем устройстве отображения. Конечно, один человек, который фактически присутствует в парке рядом со статуей, может взять удалено находящегося друга на прогулку в парк, при этом друг присоединяется посредством виртуальной и дополненной реальности. Системе потребуется знать, где находится улица, где находятся деревья, где находится статуя однако, при наличии этой информации в облаке, присоединяющийся друг может загружать из облака аспекты сценария, и затем начинать прогулку в качестве дополненной реальности, которая локальна по отношению к человеку, который фактически находится в парке.
Обращаясь к Фиг. 13, где изображен вариант осуществления, основанный на времени и/или другом ограничивающем параметре, при этом человек, контактирующий с интерфейсом виртуальной и/или дополненной реальности, таким как интерфейс 302 пользователя или устройством отображения пользователя, показанным на Фиг. 3, устройством 14 отображения, описываемым ниже со ссылкой на Фиг. 14, или его вариациями, использует систему (4) и входит в кофейное заведение, чтобы заказать чашку кофе (6). VRS может быть выполнена с возможностью использования способностей фиксации и сбора данных, локально и/или удаленно, для обеспечения расширенных возможностей отображения в дополненной и/или виртуальной реальности для человека, таких как выделение местоположений дверей в кофейном заведении или формирования окон в виде пузыря из релевантного меню (8) кафе. Когда пользователь получает чашку кофе, которую он заказал, или при обнаружении системой некоторого другого релевантного параметра, система может быть выполнена с возможностью отображения (10) одного или более основанных на времени изображений, видео и/или звука дополненной или виртуальной реальности в локальной среде при помощи устройства отображения, таких как сцены джунглей Мадагаскара по стенам и потолку, сопровождая или нет звуками джунглей и другими эффектами, либо статическими, либо динамическими. Такое представление пользователю может быть прекращено на основании параметра времени (т.е. через 5 минут после того, как была распознана и передана пользователю полная чашка кофе; через 10 минут после того, как система распознала то, что пользователь прошел через входную дверь заведения, и т.д.) или другого параметра, такого как распознавание системой того, что пользователь закончил пить кофе, отметив перевернутую ориентацию чашки кофе, когда пользователь делает последний глоток кофе из чашки - или распознавания системой того, что пользователь выходит через входную дверь заведения (12).
Обратимся к Фиг. 14, где показан один вариант осуществления пригодного устройства (14) отображения пользователя, содержащего линзу (82) отображения, которая может быть смонтирована на голове или глазах пользователя посредством корпуса или рамы (84). Линза (82) отображения может содержать одно или более прозрачных зеркал, расположенных посредством корпуса (84) перед глазами (20) пользователя, и может быть выполнена с возможностью отбрасывания проецируемого света (38) на глаза (2) и обеспечения формирования луча, при этом также обеспечивая передачу, по меньшей мере, некоторого света из локальной среды в конфигурации дополненной реальности (в конфигурации виртуальной реальности, может быть желательным, чтобы система 14 отображения была выполнена с возможностью блокировки, по существу, всего света от локальной среды, как, например, посредством затемняющего козырька, блокирующей шторки, полностью черного режима LCD панели или подобного). В изображенном варианте осуществления, две камеры (16) машинного зрения с широким полем обзора соединены с корпусом (84), для формирования изображения среды вокруг пользователя; в одном варианте осуществления эти камеры (16) являются камерами видимого света/инфракрасного света с двойным захватом. Изображенный вариант осуществления также содержит пару модулей светового проектора со сканирующим лазером и профилированным волновым фронтом (т.е. для глубины) с зеркалами и оптикой отображения, выполненными для проецирования света (38) на глаза (20), как показано. Изображенный вариант осуществления также содержит две миниатюрных инфракрасных камеры (24), сдвоенных с источниками (26, такими как светодиоды «LED») инфракрасного света, которые выполнены с возможностью отслеживания глаз (20) пользователя для обеспечения рендеринга и ввода пользователя. Система (14) дополнительно содержит комплект (39) датчиков, который может содержать способности датчика ускорения по осям X, Y, и Z, а также магнитного компаса, и способности гироскопа по осям X, Y, и Z, предпочтительно предоставляя данные с относительно высокой частотой, такой как 200 Гц. Изображенная система (14) также содержит процессор (36) ориентации головы, такой как ASIC (специализированная интегральная микросхема), FPGA (программируемая вентильная матрица) и/или ARM процессор (машина с усовершенствованным сокращенным набором инструкций), который может быть выполнен с возможностью вычисления в реальном времени или близко к реальному времени ориентации головы пользователя по информации изображения с широким полем обзора, которая выдается устройствами (16) захвата. Также показан другой процессор (32), выполненный с возможностью исполнения цифровой и/или аналоговой обработки для получения ориентации из данных гироскопа, компаса и/или датчика ускорения от комплекта (39) датчиков. Изображенный вариант осуществления также содержит подсистему (37, глобального спутникового позиционирования) GPS, чтобы помочь с ориентацией и позиционированием. В заключении, изображенный вариант осуществления содержит машину (34) рендеринга, которая может содержать аппаратное обеспечение, на котором работает программа программного обеспечения, выполненная с возможностью предоставления информации рендеринга, локальной для пользователя, для того чтобы способствовать работе сканеров и формированию изображения в глазах пользователя, применительно к обзору пользователем мира. Машина (34) рендеринга функционально связана (81, 70, 76/78, 80; т.е. посредством проводной или беспроводной связи) с процессором (32) ориентации датчика, процессором (36) ориентации изображения, камерами (24) отслеживания глаза, и системой (18) проецирования таким образом, что свет сформированных посредством рендеринга объектов дополненной и/или виртуальной реальности проецируется, используя компоновку (18) сканирующего лазера образом, аналогичным сканирующему сетчатку отображению. Волновой фронт проецируемого луча (38) света может быть искривлен или сфокусирован, чтобы совпадать с требуемым фокусным расстоянием объекта дополненной и/или виртуальной реальности. Мини инфракрасные камеры (24) могут быть использованы для отслеживания глаз, чтобы обеспечивать рендеринг и ввод пользователя (т.е. куда пользователь смотрит, на какой глубине он фокусируется; как рассматривается ниже, схождение глаза может быть использовано для оценки глубины фокуса). GPS (37), гироскопы, компас и датчики (39) ускорения могут быть использованы для предоставления курса и/или быстрой оценки ориентации. Изображения и ориентация камеры (16), совместно с данными от связанного ресурса облачных вычислений, могут быть использованы для построения карты соответствий в отношении локального мира и совместного использования обзоров пользователя с сообществом виртуальной или дополненной реальности. Несмотря на то, что большая часть аппаратного обеспечения в системе (14) отображения, показанной на Фиг. 14, изображенная непосредственно соединенной с корпусом (84), который расположен рядом с линзой (82) отображения и глазами (20) пользователя, изображенные компоненты аппаратного обеспечения могут быть смонтированы в или размещены внутри других компонентов, таких как поясной компонент, как показано, например, на Фиг. 3. В одном варианте осуществления, все компоненты системы (14), показанной на Фиг. 14, непосредственно соединены с корпусом (84) дисплея, за исключением процессора (36) ориентации изображения, процессора (32) ориентации датчика и машины (34) рендеринга, а связь между последними тремя и оставшимися компонентами системы (14) может осуществляться посредством беспроводной связи, такой как ультраширокополосная, или проводной связи. Изображенный корпус (84) предпочтительно является головным монтажом и носимым пользователем. Он также может включать в себя громкоговорители, такие как те, которые могут быть вставлены в уши пользователя и использованы для предоставления звука пользователю, который может быть уместен для восприятия дополненной или виртуальной реальности, такого как звуки джунглей, упоминаемые со ссылкой на Фиг. 13, и микрофоны, которые могут быть использованы для захвата звуков, локальных для пользователя.
Что касается проецирования света (38) в глаза (20) пользователя, то в одном варианте осуществления мини камеры (24) могут быть использованы для измерения того, где геометрически сходятся центры глаз (20) пользователя, что, в общем, совпадает с позицией фокуса, или «глубиной фокуса», глаз (20). Трехмерная поверхность всех точек, на которых сходятся глаза, именуется «гороптером». Фокусное расстояние может иметь место на конечном количестве глубин, или может быть бесконечно меняющимся. Свет, проецируемый с расстояния сходимости, кажется сфокусированным для глаза (20) субъекта, тогда как свет до или за расстоянием сходимости - размыт. Кроме того, было исследовано, что пространственно когерентный свет с диаметром луча менее примерно 0.7 миллиметра корректно разрешается глазом пользователя независимо от того, на чем сфокусирован глаз; учитывая это понимание, для создания иллюзии правильной фокусной глубины, сходимость глаз может отслеживаться с помощью мини камер (24), и машина (34) рендеринга и подсистема (18) проецирования могут быть использованы для формирования представлений всех объектов, находящихся в и близких к гороптеру в фокусе, а всех других объектов с разной степенью расфокусировки (т.е. используя умышлено созданное размытие). Прозрачный светопроводящий оптический элемент, сконфигурированный для проецирования когерентного света на глаз, может быть предоставлен поставщиками, такими как Lumus, Inc. Предпочтительно, система (14) выполняет рендеринг для пользователя с частотой кадров около 60 кадров в секунду или выше. Как описано выше, предпочтительно мини камеры (24) могут быть использованы для отслеживания глаза, а программное обеспечение может быть выполнено с возможностью сбора не только геометрии сходимости, но также меток местоположения фокуса, чтобы они служили в качестве вводов пользователя. Предпочтительно, такая система выполнена с возможностью обеспечения яркости и контрастности, подходящих для дневного или ночного использования. В одном варианте осуществления такая система предпочтительно обладает задержкой менее чем 20 миллисекунд для визуального выравнивания объекта, угловым выравниванием менее 0,1 градуса и разрешением около 1 минуты, что является приблизительно пределом человеческого глаза. Система (14) отображения может быть интегрирована с системой локализации, которая может задействовать элемент GPS, оптическое отслеживание, компас, датчик ускорения и/или другие источники данных, для помощи при определении позиции и ориентации; информация локализации может быть использована, чтобы обеспечивать точный рендеринг обзора пользователем релевантного мира (т.е. такая информация будет способствовать тому, чтобы очки знали, где они находятся, по отношению к реальному миру).
Другое подходящее устройство отображения включает в себя, но не ограничивается, настольный и мобильный компьютеры, интеллектуальные телефоны, интеллектуальные телефоны, которые могут быть дополнительно расширены с помощью свойств программного или аппаратного обеспечения, чтобы обеспечивать или имитировать 3-D просмотр в перспективе (например, в одном варианте осуществления рама может быть с возможностью разъединения соединена с интеллектуальным телефоном, при этом рама с подгруппой из 200 Гц гироскопа и датчика ускорения, двух камер машинного зрения с линзами широкого поля обзора, и ARM процессором - для имитации некоторых из функциональных возможностей конфигурации, изображенной на Фиг. 14), планшетные компьютеры, которые могут быть расширены как описано выше для интеллектуальных телефонов, планшетные компьютеры, расширенные с помощью дополнительного аппаратного обеспечения для обработки и фиксации, системы головного монтажа, которые используют интеллектуальные телефоны и/или планшеты для отображения дополненных и виртуальных точек зрения (аккомодация зрения через увеличивающую оптику, зеркала, контактные линзы, или элементы структурирующие свет), непрозрачные устройства отображения из светоизлучающих элементов (LCD, OLED, лазеры поверхностного излучения с вертикальным резонатором, направленные лазерные лучи, и т.д.), прозрачные устройства отображения, которые одновременно позволяют людям видеть естественный мир и искусственно сгенерированные изображения (например, светопроводящие оптические элементы, прозрачные или поляризованные OLED, которые святят на близкофокусные контактные линзы, направленные лазерные лучи, и т.д.), контактные линзы со светоизлучающими элементами (такие как те, что поставляются Innovega, Inc, из Беллвью, штат Вашингтон, под коммерческим названием Ioptik RTM; они могут быть объединены со специализированными дополнительными компонентами очков), имплантируемые устройства со светоизлучающими элементами, и имплантируемыми устройствами, которые имитируют оптические рецепторы человеческого мозга.
С помощью системы, такой как та, что изображена на Фиг. 3 и 14, 3-D точки могут быть захвачены из среды и может быть определена ориентация (т.е. вектор и/или информация об исходной позиции относительно мира) камер, которые захватывают эти изображения или точки, так что эти точки или изображения могут быть «размечены», или связаны с, данной информацией ориентации. Точки, захваченные второй камерой, могут быть использованы для определения ориентации второй камеры. Другими словами, можно задавать направление и/или локализовать вторую камеру на основании сравнения с размеченными изображениями от первой камеры. Затем эти знания могут быть использованы для извлечения текстур, построения карты соответствий и создания виртуальной копии реального мира (поскольку тогда присутствует две камеры вокруг, которые зарегистрированы), так что на основном уровне, в одном варианте осуществления, у вас есть носимая человеком система, которая может быть использована для захвата как 3-D точек, так и 2-D изображений, которые создают точки, и эти точки и изображения могут быть отправлены в облачное хранилище и ресурс обработки. Они также могут локально кэшироваться со встроенной информацией ориентации (т.е. кэшировать размеченные изображения); так что облако может иметь готовые (т.е. в доступном кэше) размеченные 2-D изображения (т.е. размеченные с помощью 3-D ориентации), вместе с 3-D точками. Если пользователь наблюдает нечто динамичное, он также может отправлять в облако дополнительную информацию, релевантную движению (например, если пользователь смотрит на лицо другого человека, то он может брать текстурную карту лица и передавать ее с оптимизированной частотой, даже несмотря на то, что окружающий мир главным образом статичен).
Облачная система может быть выполнена с возможностью сохранения некоторых точек в качестве реперов только для ориентации, для сокращения суммарных вычислений отслеживания ориентации. Как правило, может быт желательным иметь некоторые свойства контура, чтобы иметь возможность отслеживания основных элементов в среде пользователя, таких как стены, стол и т.д., по мере того как пользователь перемещается по комнате, и пользователь может желать иметь возможность «совместного использования» мира и чтобы некий другой пользователь прогуливался по этой комнате и также видел эти точки. Такие полезные и ключевые точки могут именоваться «реперами», поскольку они объективно полезны в качестве точек отсчета - они связаны со свойствами, которые могут быть распознаны машинным зрением и которые могут быть извлечены из мира единообразно и неоднократно на разных образцах аппаратного обеспечения пользователя. Таким образом, эти реперы предпочтительно могут быть сохранены на облаке для дальнейшего использования.
В одном варианте осуществления, предпочтительным является относительно ровное распределение реперов по всему релевантному миру, так как они являются своего рода элементами, которые камеры могут легко использовать для распознавания местоположения.
В одном варианте осуществления, релевантная конфигурация облачных вычислений может быть сконфигурирована для периодического обслуживания базы данных 3-D точек и любых связанных с ними метаданных для использования наилучших данных от различных пользователей, как для уточнения реперов, так и создания мира. Другими словами, система может быть выполнена для выбора наилучшего набора данных посредством использования входных данных от различных пользователей, которые смотрят и функционируют внутри релевантного мира. В одном варианте осуществления база данных является, по сути, фракталом - по мере того как пользователи приближаются к объектам, облако переправляет таким пользователям информацию более высокого разрешения. По мере того, как пользователи строят более точную карту соответствий объекта, эти данные отправляются в облако, и облако может добавлять новые 3-D точки и основанные на изображении текстурные карты в базу данных, если они лучше, чем те, что были ранее сохранены в базе данных. Может быть сконфигурировано, чтобы все из этого происходило одновременного применительно к множеству пользователей.
Как описано выше, восприятие дополненной или виртуальной реальности может быть основано на распознавании некоторых типов объектов. Например, может быт важно понимать, что конкретный объект имеет глубину, для того чтобы распознать и понять такой объект. Программное обеспечение распознавания объектов («распознаватели») может быть развернуто в облаке или локальных ресурсах, чтобы специально помогать с распознаванием различных объектов на любых или обеих платформах, по мере того как пользователь перемещается по данным в мире. Например, если система обладает данными для модели мира, содержащей облака 3-D точек и изображения с размеченной ориентацией, и присутствует стол с пучком точек на нем, а также изображение стола, то может отсутствовать определение того, что наблюдаемым является, конечно, стол, поскольку люди будут знать это. Другими словами, некоторых 3-D точек в пространстве и изображения с некоторого места в пространстве, которое показывает большую часть стола, может быть недостаточно для того, чтобы немедленно распознать то, что наблюдается стол. Для того чтобы помочь в данной идентификации, может быть создан распознаватель конкретного объекта, который обращается к облаку необработанных 3-D точек, вычленяет набор точек и, например, извлекает плоскость верхней поверхности стола. Аналогичным образом, может быть создан распознаватель для вычленения стены из 3-D точек, так что пользователь может менять обои или удалять часть стены в виртуальной или дополненной реальности и иметь портал в другую комнату, который в действительности отсутствует в реальном мире. Такие распознаватели работают в рамках данной модели мира и могут рассматриваться в качестве «роботов» программного обеспечения, которые сканируют модель мира и наполняют эту модель мира семантической информацией или онтологией того, что, как полагают, существует среди точек в пространстве. Такие распознаватели или роботы программного обеспечения могут быть выполнены таким образом, что все их существование заключается в обходе релевантного мира данных и обнаружении вещей, которые, как полагают, являются стенами, или стульями, или другими элементами. Они могут быть выполнены с возможностью разметки набора точек с помощью функционального эквивалента в виде «данный набор точек принадлежит стене» и могут содержать сочетание основанного на точках алгоритма и анализа изображения с размеченной ориентацией для взаимного информирования системы в отношении того, что заключено в точках.
Распознаватели объектов могут быть созданы для множества целей разнообразной полезности, в зависимости от ракурса. Например, в одном варианте осуществления, поставщик кофе, такой как Starbucks, может инвестировать средства в создание точного распознавателя кофейных чашек Starbucks внутри релевантных миров данных. Такой распознаватель может быть выполнен с возможностью сканирования миров больших и малых данных в поиске кофейных чашек Starbucks, с тем, чтобы они могли быть вычленены и идентифицированы для пользователя, при функционировании в релевантном близлежащем пространстве (т.е. возможно предложить пользователю кофе в торговой точке Starbucks непосредственно за углом, когда пользователь смотрит на свою чашку Starbucks в течение некоторого периода времени). С помощью вычлененной чашки можно быстро распознать, когда пользователь перемещает ее на его стол. Такие распознаватели могут быть выполнены для работы или функционирования не только в ресурсах и данных облачных вычислений, но также в локальных ресурсах и данных, или как облачных, так и локальных, в зависимости от доступных вычислительных ресурсов. В одном варианте осуществления существует глобальная копия модели мира в облаке с миллионами пользователей, которые вносят свой вклад в данную глобальную модель, но для небольших миров или суб-миров, подобных офису конкретного индивидуума в конкретном небольшом городе, большая часть глобального мира не будет нести в себе то, как выглядит этот офис, так что система может быть выполнена с возможностью обслуживания данных и перемещения в локальный кэш информации, которая, как полагается, является наиболее локально релевантной для заданного пользователя. В одном варианте осуществления, например, когда пользователь подходит к столу, ассоциированная информация (такая как вычленение конкретной чашки на его столе) может быть сконфигурирована для размещения только в его локальных вычислительных ресурсах, а не в облаке, так как объекты, которые идентифицированы как те, что часто перемещаются, такие как чашки на столах, не должны нагружать облачную модель и вызывать нагрузку в виде передачи между облаком и локальными ресурсами. Таким образом, ресурс облачных вычислений может быть выполнен с возможностью вычленения 3-D точек и изображений, тем самым отделяя постоянные (т.е. главным образом не перемещающиеся) объекты от перемещающихся, и это может повлиять на то, где должны оставаться ассоциированные данные, где они должны обрабатываться, снимая нагрузку обработки с носимой/локальной системы применительно к некоторым данным, которые являются релевантными для более постоянных объектов, обеспечивая своевременную обработку местоположения, которое затем может совместно использоваться с неограниченным количеством других пользователей, обеспечивая несколько источников данных для одновременного построения базы данных из фиксированных и перемещающихся объектов в конкретном физическом местоположении, и вычленения объектов из фона для создания реперов для конкретных объектов и текстурных карт.
В одном варианте осуществления, система может быть выполнена с возможностью запрашивания пользователя в отношении ввода данных об идентичности некоторых объектов (например, система может представить пользователю такой вопрос, как «Это кофейная чашка Starbucks?»), так что пользователь может обучать систему и позволять системе связывать семантическую информацию с объектами в реальном мире. Онтология может обеспечивать руководство, которое относится к тому, что объекты, вычлененные из мира, могут делать, каким образом они себя ведут, и т.д. В одном варианте осуществления система может представлять виртуальную или фактическую клавишную панель, такую как соединенную беспроводным образом клавишную панель, связь с клавишной панелью интеллектуального телефона или подобное, чтобы обеспечивать осуществление ввода некоторым пользователем в систему.
Система может быть выполнена с возможностью совместного использования основных элементов (стен, окон, геометрии стола и т.д.) с любым другим пользователем, который входит в комнату в виртуальной или дополненной реальности, и в одном варианте осуществления эта система человека будет выполнена с возможностью формирования изображений с его конкретного ракурса и выгрузки их в облако. Затем облако наполняется старыми и новыми наборами данных и может запускать подпрограммы оптимизации и устанавливать реперы, которые присутствуют на отдельных объектах.
GPS и другая информация локализации может быть использована в качестве входных данных для такой обработки. Кроме того, другие вычислительные системы и данные, такие как чей-то онлайновый календарь или информация учетной записи в FaceBook, могут быть использованы в качестве входных данных (например, в одном варианте осуществления, облако и/или локальная система может быть выполнена с возможностью анализа содержимого календаря пользователя в отношении авиабилетов, дат и пунктов назначения, так, чтобы с течением времени информация могла быть перемещена из облака в локальные системы пользователя, чтобы быть готовой к моменту прибытия пользователя в заданный пункт назначения).
В одном варианте осуществления, метки, такие как коды QR и подобное, могут быть вставлены в мир для использования при вычислении нестатистической ориентации, управлении безопасностью/доступом, сообщении особой информации, пространственном обмене сообщениями, распознавании нестатистических объектов и т.д.
В одном варианте осуществления, облачные ресурсы могут быть выполнены с возможностью пересылки цифровых моделей реальных и виртуальных миров между пользователями, как описано выше со ссылкой на «перенаправляемые миры», при этом модели формируются отдельными пользователями на основании параметров и текстур. Данное сокращение нагрузки на полосу пропускания по отношению к пересылке видео в режиме реального времени обеспечивает рендеринг виртуальных точек зрения сцены и позволяет миллионам или более пользователей участвовать в одном виртуальном собрании, не отправляя каждому из них данные, которые они должны видеть (таких как видео), потому что их обзоры формируются их локальными вычислительными ресурсами.
Система виртуальной реальности («VRS») может быть выполнена для регистрации местоположения пользователя и поля обзора (вместе известные как «ориентация») посредством одного или более из следующего: метрик компьютерного зрения в режиме реального времени, при помощи камер, методик одновременной локализации и построения карты соответствий, карт и данных от датчиков, таких как гироскопы, датчики ускорения, компас, барометр, GPS, триангуляции силы радиосигнала, анализа времени прохождения сигнала, измерения расстояния посредством LIDAR, измерения расстояния посредством RADAR, одометра, и измерения расстояния посредством сонара. Система носимого устройства может быть выполнена с возможностью одновременного построения карты соответствий и задания направлений. Например, в неизвестных средах, VRS может быть выполнена с возможностью сбора информации о среде, выявления реперов, пригодных для вычислений ориентации пользователя, других точек для моделирования мира, изображений для обеспечения текстурных карт мира. Реперы могут быть использованы для оптического вычисления ориентации. По мере того как карта соответствий мира строится с большей точностью, может вычленяться больше объектов, и они могут получать свои собственные текстурные карты, но все же предпочтительно, чтобы мир представлялся с низким пространственным разрешением с простыми многоугольниками с низким разрешением текстурных карт. Другие датчики, такие как те, что рассматривались выше, могут быть использованы для поддержки данных усилий моделирования. Мир может быть, по существу, фрактальным в том, что перемещение или иной поиск лучшего обзора (посредством точек зрения, режимов «надзора», изменения масштаба и т.д.) требует информации с высоким разрешением от облачных ресурсов. Приближение к объектам обеспечивает захват данных с более высоким разрешением, и это может быть отправлено в облако, которое может вычислять и/или вставлять новые данные в промежуточные места в модели мира.
Обращаясь к Фиг. 16, носимая система может быть выполнена с возможностью захвата информации изображения и извлечения реперов и распознанных точек (52). Носимая локальная система может вычислять ориентацию, используя одну из упомянутых ниже методик вычисления ориентации. Облако (54) может быть выполнено с возможностью использования изображений и реперов для вычленения 3-D объектов из более статичных 3-D фонов; изображения обеспечивают текстурные карты для объектов и мира (текстуры могут быть элементами видео в режиме реального времени). Облачные ресурсы (56) могут быть выполнены с возможностью сохранения и предоставления статичных реперов и текстур для регистрации мира. Облачные ресурсы могут быть выполнены с возможностью обслуживания облака точек применительно к оптимальной плотности точек для регистрации. Облачные ресурсы (60) могут хранить и предоставлять доступ к реперам объекта и текстурам для регистрации и манипуляции объектом; облако может обслуживать облака точек применительно к оптимальной плотности для регистрации. Облачный ресурс может быть выполнен (62) с возможностью использования всех действительных точек и текстур для генерирования фрактальных твердотельных моделей объектов; облако может обслуживать информацию облака точек в отношении оптимальной плотности реперов. Облачный ресурс (64) может быть выполнен с возможностью запроса у пользователей обучения в отношении идентичности вычлененных объектов и мира; база данных онтологии может использовать ответы для насыщения объекта и мира воспринимающими действие качествами.
Следующие конкретные режимы регистрации и построения карты соответствий содержат понятия: «O-ориентация», которое представляет собой ориентацию, которая определяется с помощью оптической системы или системы камер; «S-ориентация», которая представляет собой ориентацию, которая определяется с помощью датчиков (т.е. таких как сочетание данных GPS, гироскопа, компаса, датчика ускорения и т.д., как рассматривалось выше); и «MLC», которое представляет собой ресурс облачных вычислений и управления данными.
1. Задание направления: создают основную карту новой среды
Цель: установить ориентацию, если для среды не построена карта соответствий или (эквивалент), если отсутствует соединение с MLC.
- Извлекают точки из изображения, покадрово отслеживают, выполняют триангуляцию реперов при помощи S-ориентации.
- Используют S-ориентацию, так как отсутствуют реперы.
- Отфильтровывают плохие реперы на основании постоянства.
- Это самый основной режим: он всегда будет работать для ориентации с низкой точностью. При небольшом времени и некотором относительном движении он будет устанавливать минимальный набор реперов для O-ориентации и/или построения карты соответствий.
- Выходят из этого режима, как только становится надежным O-ориентация.
2. Построение карты соответствий и O-ориентация: строят карту соответствий среды
Цель: установить ориентацию с высокой точностью, построить карту соответствий для среды и предоставить карту (с изображениями) в MLC.
- Вычисляют O-ориентацию по сформировавшимся реперам мира. Используют S-ориентацию в качестве проверки решения O-ориентации и для ускорения вычисления (O-ориентация является нелинейным градиентным поиском).
- Сформировавшиеся реперы могут исходить от MLC, или быть теми, что определены локально.
- Извлекают точки из изображения, покадрово отслеживают, выполняют триангуляцию реперов при помощи O-ориентации.
- Отфильтровывают плохие реперы на основании постоянства.
- Предоставляют в MLC реперы и изображения с размеченной ориентацией.
- Последние три этапа не обязательно должны выполняться в режиме реального времени.
3. O-ориентация: определяют ориентацию
Цель: установить ориентацию с высокой точностью в среде с уже построенной картой соответствий, используя минимальную мощность обработки.
- Используют историческую S- и O-ориентацию (n-1, n-2, n-3, и т.д.) для оценки ориентации в n.
- Используют ориентацию в n для проецирования реперов на изображения, захваченное в n, затем создают маску изображения из проекции.
- Извлекают точки из маскированных областей (загруженность обработки сильно сокращается посредством лишь поиска/извлечения точек из маскированных подмножеств изображения).
- Вычисляют O-ориентацию из извлеченных точек и сформировавшихся реперов мира.
Используют S- и O-ориентацию в n для оценки ориентации в n+1.
- Опция: предоставляют изображения/видео размеченной ориентацией облаку MLC.
4. Супер Разрешение: определяют группу изображений и реперов с супер разрешением
Цель: создать группу изображений и реперов с супер разрешением.
- Составляют изображения с размеченной ориентацией для создания изображений с супер разрешением
- Используют изображения с супер разрешением для улучшения оценки позиции репера.
- Выполняют итерацию оценок O-ориентации из реперов с супер разрешением и группы изображений.
- Опция: Циклически повторяют вышеприведенные этапы на носимом устройстве (в режиме реального времени) или MLC (для улучшения мира).
В одном варианте осуществления, система VLS может быть выполнена с наличием некоторых базовых функциональных возможностей, а также функциональных возможностей, которые обеспечиваются приложениями («apps»), которые могут распространяться посредством VLS для обеспечения некоторых специализированных функциональных возможностей. Например, следующие приложения могут быть установлены в требующуюся VLS для обеспечения специализированных функциональных возможностей:
Приложение художественного рендеринга. Художники создают преобразования изображения, которые представляют мир, так как они его видят. Пользователи активируют отображение этих преобразований, тем самым смотря на мир глазами художников.
Приложение настольного моделирования. Пользователи «строят» объекты из физических объектов, поставленных на стол.
Приложение виртуального присутствия. Пользователь переправляет виртуальную модель пространства другому пользователю, который затем перемещается по пространству, используя виртуальный аватар.
Приложение эмоций аватара. Измерения тонких голосовых интонаций, незначительных перемещений головы, температуры тела, частоты сердцебиения и т.д., анимируют тонкие эффекты аватаров виртуального присутствия. Оцифровка информации о состоянии человека и переправка ее удаленному аватару использует меньше полосы пропускания, чем видео. Дополнительно, такие данные являются выполненными с возможностью наложения на аватары не виде человека, с возможностями эмоций. Например, аватар собаки может показывать возбуждение посредством виляния хвостом на основании голосовых интонаций, демонстрирующих восхищение.
Для перемещения данных предпочтительной может быть эффективная сеть ячеистого типа, в противоположность отправке всего обратно серверу. Тем не менее, многие ячеистые сети имеют неоптимальную производительность, поскольку позиционная информация и топология не очень хорошо характеризируются. В одном варианте осуществления, система может быть использована для определения местоположения всех пользователей с относительно высокой точностью, и, таким образом, для высокой производительности может быть использована конфигурация ячеистой сети.
В одном варианте осуществления система может использоваться для поиска. С помощью дополненной реальности, например, пользователь будет генерировать и оставлять контент, связанный со многими аспектами физического мира. Большая часть данного контента не является текстом и, следовательно, не может быть легко найдена обычными способами. Система может быть выполнена с возможностью обеспечения отслеживания контента персональной и социальной сети для поиска и в целях организации ссылки.
В одном варианте осуществления, если устройство отображения отслеживает 2-D точки на протяжении последовательных кадров, затем накладывает векторнозначную функцию для временной оценки этих точек, то существует возможность попробовать векторнозначную функцию в любой момент времени (например, между кадрами) или в некоторой точке в ближайшем будущем (посредством проецирования векторнозначной функции вперед по времени). Это предоставляет возможность создания постобработки с высоким разрешением и предсказания будущей ориентации до того, как будет фактически захвачено следующее изображение (например, удвоение скорости регистрации возможно без удвоения частоты кадров камеры).
Применительно к рендерингу, связанному с телом (в противоположность рендерингу, связанному с головой и связанному с миром), требуется точный вид тела. Вместо измерения тела, в одном варианте осуществления существует возможность получения его местоположения посредством усреднения позиции головы пользователя. Если лицевые точки пользователя пересылаются большую часть времени, то средняя за несколько дней позиция головы будет отражать это направление. Совместно с вектором силы тяжести, это обеспечивает разумную стабильную систему координат для рендеринга, связанного с телом. Использование текущих измерений позиции головы по отношению к данной длительной системе координат обеспечивает возможность непротиворечивого рендеринга объектов на/вокруг тела пользователя - при отсутствии дополнительных инструментов. Для реализации данного варианта осуществления, может быть запущен один регистр, усредняющий вектор направления головы, и текущая сумма данных, деленная на дельта-t, будет давать текущую усредненную позицию головы. Ведение пяти или около того регистров, запущенных в день n-5, день n-4, день n-3, день n-2, день n-1, позволяет использовать скользящее среднее только по «n» прошлым дням.
В одном варианте осуществления сцена может быть уменьшена в масштабе и представлена пользователю в меньшем, чем фактическое, пространстве. Например, в ситуации, в которой присутствует сцена, представление которой должно быть сформировано в огромном пространстве (т.е. таком как футбольный стадион), может отсутствовать эквивалентное огромное пространство или такое большое пространство может быть неудобно для пользователя. В одном варианте осуществления система может быть выполнена с возможностью уменьшения масштаба сцены таким образом, что пользователь может видеть ее в миниатюре. Например, у кого-то может быть видео игра с режимом отображения «божий глаз», или игра чемпионата мира по футболу, воспроизводимая на немасштабированном поле - или уменьшена в масштабе и представлена на полу гостиной. Система может быть выполнена с возможностью простого переключения ракурса, масштаба и соответствующего расстояния согласования рендеринга.
Система также может быть выполнена с возможностью привлечения внимания пользователя к конкретным элементам внутри представленной сцены посредством манипулирования фокусом объектов виртуальной или дополненной реальности, посредством выделения их, изменения контрастности, яркости, масштаба и т.д.
Предпочтительно система может быть выполнена с возможностью реализации следующих режимов:
Рендеринг открытого пространства:
- Захватывают ключевые точки из структурированной среды, затем заполняют пространство между ними с помощью ML рендеринга.
- Потенциальные места проведения мероприятий: сцены, пространства вывода, большие закрытые пространства (стадионы).
Заключение объекта в оболочку:
- Распознают 3D объект в реальном мире и затем дополняют его
- Здесь под «распознаванием» понимается идентификация 3D большого двоичного объекта с достаточно высокой точностью для того, чтобы прикрепить к нему группу изображений.
- Существует два типа распознавания: 1) Классификация типа объекта (например, «лицо»); 2) классификация конкретного экземпляра объекта (например, Джо, человек).
- Строят распознаватели объектов программного обеспечения для различных вещей: стен, потолков, полов, лиц, дорог, неба, небоскребов, одноэтажных домов, столов, стульев, автомобилей, дорожных знаков, вывесок, дверей, окон, книжных полок и т.д.
- Некоторые распознаватели относятся к Типу I и имеют общие функциональные возможности, например «поместить мое видео на эту стену», «это собака».
- Другие распознаватели относятся к Типу II и имеют конкретные функциональные возможности, например «мой ТВ находится на стене в _моей_ гостиной на расстояние 3.2 фута от потолка», «Это Фидо» (это версия обычного распознавателя с большими возможностями).
- Распознаватель зданий в качестве объектов программного обеспечения обеспечивает возможность контролированного выпуска функциональных возможностей, и более тонкого управления восприятием.
Центрированный на теле рендеринг
- Формируют посредством рендеринга виртуальные объекты, закрепленные на теле пользователя.
- Некоторые вещи должны плавать вокруг тела пользователя, подобно цифровому поясу с инструментами.
- Это требует знаний о том, где находится тело, а не только голова. Могут достаточно точно получать позицию тела с помощью усредненного в течение длительного времени значения позиции головы пользователя (головы обычно направлены вперед параллельно земле).
- Тривиальным случаем являются объекты, плавающие вокруг головы.
Прозрачность/отображение в разрезе
- Для распознанных объектов Типа II, показывают разрезы
- Связывают распознанные объекты Типа II с онлайновой базой данных 3D моделей.
- Должны начинать с объектов, которые имеют общедоступные 3D модели, таких как автомобили и коммунальные сооружения.
Виртуальное присутствие
- Рисуют аватары удаленных людей в открытом пространстве
- Подмножество «рендеринга открытого пространства» (выше).
- Пользователи создают грубую геометрию локальной среды и многократно отправляют как геометрию, так и текстурные карты другим.
- Пользователи должны предоставлять разрешения другим для входа в их среду.
- Тонкие голосовые очереди, отслеживание руки, и движение головой отправляются удаленному аватару. Аватар анимируется посредством этих нечетких вводов.
- Вышеприведенное минимизирует нагрузку на полосу пропускания.
- Делают стену «порталом» в другую комнату
- Как и с другим способом, переправляют геометрию и текстурную карту.
- Вместо показа аватара в локальной комнате, назначают распознанный объект (например, стену) в качестве портала в другую среду. Таким образом, несколько человек может сидеть в своих собственных комнатах, смотря «сквозь» стену на среды других.
Виртуальные точки зрения
- Плотная цифровая модель зоны создается, когда группа камер (людей) смотрит на сцену с разных ракурсов. Эта насыщенная цифровая модель может быть сформирована посредством рендеринга с любой выгодной точки, с которой может видеть, по меньшей мере, одна камера.
- Пример. Люди на свадьбе. Сцена совместно моделируется всеми присутствующими. Распознаватели различают и накладывают текстурные карты на стационарные объекта по-другому, чем на движущиеся (например, стены обладают стабильной текстурной картой, люди имеют подвижные текстурные карты с более высокой частотой).
- С помощью насышенной цифровой модели, которая обновляется в режиме реального времени, сцена может быть сформирована посредством рендеринга с любого ракурса. Присутствующие, которые находятся сзади, могут по воздуху перенестись в передний ряд, для лучшего обзора.
- Присутствующие могут показывать их движущийся аватар или могут скрыть свой ракурс.
- Присутствующие за пределами площадки могут найти «место» либо с их аватаром или, если организаторы разрешают, невидимым образом.
- Вероятно, требует значительно высокой полосы пропускания. Теоретически, высокочастотные данные потоковым образом передаются через толпу по высокоскоростной локальной беспроводной связи. Низкочастотные данные приходят от MLC.
- Поскольку все присутствующие обладают информацией позиции с высокой точностью, создание оптимального пути маршрутизации для локальной сети является тривиальной задачей.
Обмен сообщениями
- Может быть желательным простой тихий обмен сообщениями.
- Применительно к данному и прочим приложениям, может быть желательным наличие пальцевой аккордовой клавиатуры.
- Решения с тактильной перчаткой могут обеспечить повышенную производительность.
Полная Виртуальная Реальность (VR)
- При затемненной зрительной системе, показывают вид, не накладывающийся на реальный мир.
- Система регистрации все же необходима для отслеживания позиции головы.
- «Диванный режим» позволяет пользователю летать.
- «Режим прогулки» повторно формирует посредством рендеринга объекты в реальном мире в качестве виртуальных, так что пользователь не сталкивается в реальным миром.
- Рендеринг частей тела имеет большое значение для сдерживания неверия. Это предполагает наличие способа для отслеживания и рендеринга частей тела в FOV. Невозможность наблюдения сквозь козырек является видом VR с множеством преимуществ улучшения изображения, которые невозможны при непосредственном наложении.
- Широкое FOV, возможно даже способность смотреть назад.
- Различные виды «супер зрения»: телескоп, возможность видеть насквозь, инфракрасное зрение, глаз Бога и т.д.
В одном варианте осуществления система для виртуального и/или дополненного восприятия пользователя выполнена таким образом, что удаленные аватары, связанные с пользователями, могут анимироваться на основании, по меньшей мере, частично данных на носимом устройстве с вводом от источников, таких как анализ интонации голоса и анализ распознавания лиц, которые проводятся релевантными модулями программного обеспечения. Например, вновь обращаясь к Фиг. 12, аватар (2) пчелы может анимироваться с дружественной улыбкой на основании распознавания улыбки на лице пользователя посредством распознавания лиц, либо на основании дружественного тона голоса или разговора, как определяется программным обеспечением, выполненным с возможностью анализа голосовых вводов в микрофоны, которые могут захватывать голосовые образцы локально от пользователя. Кроме того, персонаж аватара может быть анимирован таким образом, при котором аватар, насколько это возможно, выражает некоторые эмоции. Например, в одном варианте осуществления, в котором аватаром является собака, довольная улыбка или тон, обнаруженные системой, которая является локальной по отношению к пользователю-человеку, может быть выражена аватаром как виляние хвостом аватара-собаки.
Различные примерные варианты осуществления изобретения описываются ниже. Ссылка на эти варианты осуществления сделана в духе, который не накладывает ограничений. Они предоставлены для иллюстрации более широко применимых аспектов изобретения. Различные изменения могут быть выполнены в отношении описанного изобретения, и вместо могут быть использованы эквиваленты, не отступая от истинной сущности и объема изобретения. В дополнение, множество модификаций может быть выполнено для адаптации к конкретной ситуации, материалу, композиции предметов, процессу, действию(ям) или этапу(ам) процесса, в отношении целей, сущности или объема настоящего изобретения. Кроме того, как следует понимать специалистам в соответствующей области техники, каждая из отдельных вариаций, здесь описанных и проиллюстрированных, обладает отдельными компонентами и признаками, которые могут быть легко отделены или объединены с признаками любого из других нескольких вариантов осуществления, не отступая от объема и сущности настоящего изобретения. Все такие модификации рассматриваются как находящиеся в рамках объема, определяемого формулой изобретения, которая связана с данным изобретением.
Изобретение включает в себя способы, которые могут быть выполнены, используя соответственные устройства. Способы могут содержать действие по предоставлению такого соответственного устройства. Такое предоставление может выполняться конечным пользователем. Другими словами, действие по «предоставлению» требует от конечного пользователя лишь получения, доступа, приближения, позиционирования, настройки, активации, подачи питания или иного действия для предоставления необходимого устройства в подчиненном способе. Излагаемые здесь способы могут выполняться в любой очередности изложенных событий, которая логически возможна, как впрочем, и в изложенной очередности событий.
Примерные аспекты изобретения, совместно с подробностями, которые касаются выбора материала и изготовления, были изложены выше. Что касается других подробностей настоящего изобретения, они могут быть оценены в связи с вышеупомянутыми патентами и публикациями, как впрочем, они могут быть общеизвестны и подразумеваться специалистами в соответствующей области. То же самое может быть справедливо в отношении основанных на способе аспектов изобретения с точки зрения дополнительных действий, как обычно или логически используемых.
В дополнение, несмотря на то, что изобретение было описано со ссылкой на несколько примеров, опционально включающих в себя различные признаки, изобретение не должно ограничиваться тем, что описано или указано как предусмотренное в отношении каждой вариации изобретения. Различные изменения могут быть выполнены в отношении описанного изобретения, и вместо могут быть использованы эквиваленты (изложенные ли здесь, или не включенные для краткости), не отступая от истинной сущности и объема изобретения. В дополнение, там, где представлен диапазон значений, понимается, что каждое промежуточное значение, между верхним и нижним пределом диапазона, и любое другое объявленное или промежуточное значение в объявленном диапазоне, заключено в рамках изобретения.
Также предполагается, что любой опциональный признак описанных изобретательных вариаций может быть изложен и заявлен независимо, или в сочетании с любым одним или более описанными здесь признаками. Ссылка на единичный элемент включает в себя возможность того, что присутствует множество таких элементов. В частности, как используется здесь и в связанной формуле изобретения, формы единственного числа и «упомянутый» включают в себя множественные числа, если конкретно не указано обратное. Другими словами, упоминание в единственном числе подразумевает «по меньшей мере один» касаемо рассматриваемого элемента в описании выше, как, впрочем, и формуле изобретения, связанной с данным изобретением. Также отмечается, что такая формула изобретения может быть составлена таким образом, чтобы исключать любой опциональный элемент. Раз так, то данное утверждение предназначено служить в качестве предшествующей основы для использования такой исключающей терминологии, как «единственно», «только» и подобной, в связи с изложением элементов формулы изобретения или использованием «негативного» ограничения.
Без использования такой исключающей терминологии, понятие «содержащий» в формуле изобретения, связанной с данным изобретением, должно обеспечивать включение любого дополнительного элемента - независимо от того, перечислено ли заданное количество элементов в такой формуле изобретения, или добавление признака может рассматриваться как трансформация природы элемента, изложенного в такой формуле изобретения. За исключением специально здесь определенных, все используемые здесь технические и научные понятия должны быть даны настолько широко, на сколько это позволяет их обычно понимаемое значение, при условии сохранения действительности пункта формулы изобретения.
Объем настоящего изобретения не должен ограничиваться предоставленными примерами и/или техническим описанием предмета, а наоборот ограничиваться лишь объемом, определяемым формулой изобретения, связанной с данным изобретением.