Из чего состоит Microsoft HoloLens и как всё это работает

5583

HoloLens teardown

Шлем Microsoft HoloLens перестаёт быть невиданной редкостью. Его можно опробовать на выставках и презентациях, роликами с ним заполнены видеохостинги, растёт количество студий, создающих под него программное обеспечение — они прикладывают массу усилий к тому, чтобы сделать смешанную реальность ближе к людям. Однако до сих пор мало кто понимает, какие технические решения сделали возможным создание шлема смешанной реальности.

На сегодняшний день мы знаем, что HoloLens — это принципиально новый компьютер на Windows 10 и мобильной вычислительной платформе Intel, который укомплектован визуальными датчиками, наделяющими его возможностями Kinect, но в гораздо более интересном мобильном варианте. Также в шлеме есть инерциальный блок определения местоположения, малоизвестный процессор типа Holographic Processing Unit (HPU) и проекционная система формирования изображения на линзах перед глазами пользователя.

Microsoft не скрывает информацию о своём ключевом устройстве будущего, но она также редко её афиширует, оставляя подробности разработчикам. А Голографика хочет, чтобы информацию о такой важной новинке мог найти любой желающий. Поэтому сегодня мы постараемся дать вам максимальное преставление о том, что скрыто под корпусом HoloLens, и как всё это работает.

Оптика

hololens-demo-build-2016-6

Начнём с того, на что сразу обратит внимание любой пользователь HoloLens. В отличие от шлемов виртуальной реальности, которые передают картинку через непрозрачные светодиодные или жидкокристаллические дисплеи и стеклянные линзы, которые искажают картинку для правильного восприятия зрительным аппаратом человека, в устройстве Microsoft установлены прозрачные волноводные линзы. Это линзы с волнообразной призматической структурой, которые правильным образом преломляют и отправляют в наши глаза картинки с расположенных по бокам микродисплеев. Картинка формируется на основе данных с датчиков местоположения шлема и окружающих объектов, и в результате мы видим перед собой «голограммы» — компьютерную графику, интегрированную в окружающую действительность, или смешанную реальность.

HoloLens optics 1 HoloLens optics 2 HoloLens optics 3 HoloLens optics 4

Рабочая цепочка оптической системы HoloLens выглядит следующим образом: микродисплей → визуализационная оптика → волновод → объединитель → дифракционные решётки (они производят расширение выходного зрачка). Пока просто набор слов, поэтому постараемся всё объяснить.

Начнём с конца. В оптике выходной зрачок — это виртуальная апертура оптической системы, и из системы могут выйти только лучи, проходящие через виртуальную апертуру. Ещё проще: это область с образом, видимая в окуляр. В нашем случае, входной зрачок — наш глаз, а выходным является проекция. Ключ к правильной работе всей системы, это расширение выходного зрачка через максимальное расширение области, доступной обзору человеческого зрачка с любой его позиции (англоязычный термин — «eye box»). Этого позволяет добиться регулировка линз в вертикальной и горизонтальной плоскостях. По словам Microsoft, у HoloLens самый большой eye box в отрасли.

Но это финиш, а старт расположен у проекторов, которые в Microsoft называют «световыми движками». HoloLens содержит LQoD-дисплеи, которые вы можете найти в обычном проекторе. Это два устройства с разрешением HD и соотношением сторон картинки 16:9 на дужке под инерциальным датчиком, о котором мы поговорим позже. Свет из проекторов должен пройти через объединитель — устройство, правильным образом комбинирующее проекцию и реальный мир.

HoloLens использует явление полного внутреннего отражения (ПВО), благодаря которому форма призмы может задерживать свет или направлять его в глаз. Работа с инфракрасным спектром позволяет использовать ПВО для окулографии.

Для передачи картинки в HoloLens используются линзы с призматическими структурами — волноводами. Их трудно изготовить прямо в стекле, поэтому инженеры покрывают линзы несколькими дифракционными решётками. Это очень важно делать правильно, иначе «голограммы» будут «плавать», а пользователя будет тошнить, причём в прямом смысле. Проходя через оптическую систему, изображение дифрагируется внутри волновода, отправляясь в точном направлении с определёнными цветами.

Сложность оптической системы познаётся в сравнении. В ВР-шлемах картинка с дисплея (дисплеев) проходит через линзы и попадает в глаза. HoloLens проецирует изображение, которое затем комбинируется, дифрагируется и расслаивается, чтобы вы видели трёхмерное изображение, органично вписывающееся в окружающее пространство.

По теме: Из чего состоят HoloLens (видео)

Три Д (Датчики Дают Добро)

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

Панель датчиков HoloLens содержит по две камеры распознавания окружающей среды справа и слева, времяпролётную (time of flight — ToF) камеру глубинного зондирования, датчик внешней освещённости и двухмегапиксельную камеру для фото или видео в HD-разрешении. Некоторые детали массива куплены у сторонних поставщиков, другие же изготовлены самой Microsoft.

HoloLens sensors 1

Камеры зондирования окружающей среды служат основой для трекинга головы, а времяпролётная камера играет две роли: помогает с отслеживанием движений рук и реконструирует окружающие поверхности, чтобы размещать «голограммы» на физических объектах (например, именно это является одной из основных функций камер Intel RealSense 400-й серии в Project Alloy).

HoloLens sensors 2 HoloLens sensors 3 HoloLens sensors 4

Датчики работают совместно с описанной выше оптической системой и датчиком инерциальной навигации, установленным прямо над переносицей. HoloLens обрабатывает положение пользователя меньше чем за 10 миллисекунд, за счёт чего изображение не плывёт, а виртуальные объекты не летят вслед за поворотами головы. На самом деле, немного летят, но и HoloLens — пока прототип.

Холодная голова

Мы давно знаем, что HoloLens работает на мобильной системе на чипе Intel поколения Cherry Trail, и у нас практически не было данных по инерциальному модулю и голографическому процессору (ГП), который в мире за стенами Microsoft именуется процессором компьютерного зрения (пример — Myriad).

Очевидно (и подтверждено), что устройство получило специальную материнскую плату без радиаторов и вентиляторов охлаждения. На ней есть твердотельный накопитель на 64 ГБ формата eMMC и 2 ГБ оперативной памяти LPDDR3 — по гигабайту на центральный и голографический процессор. Архитектура — x86, а операционная система — Windows 10.

SoC остаётся неизвестным, но всё семейство Cherry Trail получило по четыре 14-нанометровых ядра Airmont. Слайды Microsoft позволяют утверждать, что чип подключён по PCIe к двум устройствам: контроллеру 802.11ac Wi-Fi/BT 4.1 LE и процессору компьютерного зрения. При этом только одна из двух компоновок Cherry Trail имеет пару портов PCIe — версия Type 4 на 289 квадратных миллиметра. По крайней мере на бумаге, эта версия доступна с максимум 16 графическими исполнительными блоками восьмого поколения. Intel HD Graphics имеет аппаратное ускорение HEVC и H.264, что сводит к минимуму энергозатраты на воспроизведение медиа. А укладка памяти в SoC и HPU экономит место на материнской плате.

09

Также Cherry Trail может похвастаться обилием интерфейсов ввода/вывода, полезных для HoloLens. Встроенный экономичный звуковой движок может кодировать и декодировать аудио для встроенных динамиков и с четырёх микрофонов. I²C-интерфейсы упрощают работу с датчиками температуры и освещённости. Поддержка MIPI CSI обеспечивает беспроблемное подключение к SoC камер. А SSD на 64 гигабайта подключается к кластеру управления внутренним хранилищем процессора через SDIO.

HPU

Голографический процессор версии 1.0 отвечает за сбор и обработку данных с различных камер HoloLens, чтобы отправить стройный обработанный код в центральный процессор. ГП произведён по 28-нанометровому техпроцессу TSMC. Его площадь составляет 144 квадратных миллиметра, большую часть из которых занимают 12 вычислительных узлов с 2 DSP-ядрами разработки Tensilica в каждом (24 ядра).

Microsoft использовала базовый набор инструкций Xtensa с примерно 300 расширениями для входного потока данных от различных подсистем шлема, которые комбинируются и выводятся на SoC в упрощённом формате. С самого начала в Рэдмонде не хотели загружать ни один вычислительный узел больше, чем на 50%, поэтому перегрузка HPU маловероятна и в будущем — всё сделано с запасом.

HoloLens processors 1 HoloLens processors 2

Компания также предъявила взыскательные требования к времени ожидания и рабочему циклу. Для их сокращения операции, которые не могут быть удовлетворительно произведены ядрами DSP, передаются на монофункциональные ускорители. Во многом это похоже на выделение транзисторов под конкретные задачи, такие как тесселяция или декодирование видео, в графике AMD и NVIDIA. Microsoft реализовала автономные ускорителями и блоки аппаратных средств, тесно связанные с ядрами DSP для ускорения производительности критически важных операций. Эта связка производит порядка триллиона операций с пикселями в секунду, то есть в 200 раз больше, чем при программной обработке.

HoloLens processors 3 HoloLens processors 4 HoloLens processors 5 HoloLens processors 6 HoloLens processors 7

Наряду с 1 гигабайтом оперативной памяти LPDDR3 в HPU между узлами расположилось 8 мегабайт SRAM. Последовательные интерфейсы позволяют устанавливать связь между голографическим процессором и подсистемами шлема: например, CSI от MIPI Alliance используется для сбора входящих данных от камеры глубинного зондирования и четырёх камер распознавания среды, MIPI-DSI соединяет два дисплея, инерциальный датчик общается с HPU по SPI, а температурный — по I²C.

HPU и SoC от Intel коммуницируют по шине PCI Express. Согласно спецификациям Atom Z8000, Cherry Trail предоставляет два корневых порта со скоростью до 5 гигатранзакций в секунду. Если данная информация соответствует имеющемуся в HoloLens, компоненты шлема передают друг другу код на скорости не больше 500 мегабайт в секунду. К сожалению, в Microsoft не подтверждают ни одну из спецификаций центрального процессора.

Не пропускайте важнейшие новости о мире дополненной и виртуальной реальности — подписывайтесь на Голографику в ВКTwitter и Facebook!

Далее: Microsoft HoloLens: курс по ключевым функциям платформы

По материалам Tom’s Hardware