Выбрать главу

Опубликовано 07 мая 2013

В конце апреля корпорация Microsoft анонсировала вакансию главного разработчика ПО для некоего проекта в рамках своего подразделения Startup Business Group. Соискателю сулят возможность переопределить способы общения между людьми (посредством телекоммуникаций, естественно), создавая возможность в буквальном смысле «виртуально присутствовать» в конференц-зале, например, физически находясь на другом конце света. Подразумевается, что с помощью такого виртуального двойника участник встречи сможет оглядываться по сторонам, поворачиваться к коллегам и даже перешёптываться с ними.

Само собой напрашивалось предположение, что речь идёт о голографических «аватарах» для телеконференций (тем более что в тексте вакансии прямо указывалось, что разработанные функции в дальнейшем планируется интегрировать в Skype). Собственно, ровно в таком ключе СМИ и блоги информацию и подали. Что было не совсем правомерно.

Около года назад стало известно, что в Microsoft Research ведутся разработки проекта под названием Viewport. В описании проекта говорится, что Viewport должен будет представлять собой полностью распределённую систему иммерсивной (то есть формирующей у каждого участника эффект присутствия друг друга) конференц-связи. Образ каждого участника захватывается посредством системы, включающей три цветные камеры, три инфракрасных камеры, а также два инфракрасных лазерных проектора, идентичных тем, что используются в Kinect. Интересно, что использовать Kinect с его собственными камерами не получается, поскольку, как отмечается в описании, синхронизировать между собой три таких контролера невозможно, а вдобавок они склонны мешать друг другу.

Риг для захвата образа участника телеконференции и получаемые изображения

Благодаря этим проекторам формируется точечный растр, с помощью которого затем в режиме реального времени реконструируется точная 3D-модель участника; для этого разработан специальный алгоритм, который позволяет в режиме реального времени представлять облик человека в виде разрежённого облака точек, причём для этого нужна лишь одна рабочая станция.

Схема кодирования человеческого облика в разрежённое облако точек

Один из ключевых новаторских аспектов в нашем подходе заключается в использовании разрежённого облака точек вместо многоракурсной стереосъёмки для реконструкции геометрии, что позволит значительно ускорить 3D-реконструкцию и рендеринг. Вдобавок мы представляем схему «виртуального рассаживания», при которой облака точек размещаются таким образом, чтобы сохранять то же расположение участников конференции относительно друг друга, какое имело бы место при встречах в реальности. Это достигается путём тонкой калибровки, вследствие которой строго поддерживается взаимное расположение взглядов участников.

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

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

Схема расположения участников виртуальной телеконференции. Направление взгляда постоянно отслеживается

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