Rambler's Top100

3D Монитор - 3D реальность

07.08.2001


Идея создания устройств, обеспечивающих воспроизведение 3D объектов, существует уже более 30 лет. Естественная трансформация черно-белой картинки в цветную, моно звука в стерео звук, оставляют инженерам последнюю задачу – превращение 2D в 3D.

Наиболее известным воплощением 3D являются голограммы. Говоря научным языком, голограмма и есть собственно 3D объект. Получение голограммы это процесс записи на специальной фотопластинке двух световых полей – отраженного света от реального объекта и специального света от лазерного источника. Соответственно, если после записи голограммы ее осветить таким светом от лазера, но с "обратным ходом", то есть с лучами света, идущими в обратном направлении, то мы в результате получим световое поле, точно такое же, как от реального объекта. Обратите внимание на этот факт – мы видим объект, если в наши глаза попадает световое поле, такое же, как от реального объекта.

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

Голограммы, по-прежнему, пытаются применять для формирования 3D изображений. Это связано с тем, что голограммы могут разделять поток света и направлять его в разные стороны. Таким образом, если направить на голограмму свет от двух картинок – для левого и для правого глаз – на выходе они вновь разделятся и образуют, так называемую стерео пару. Именно на образовании изображение для левого и правого глаз (стерео пар) строится идеология большинства современных 3D дисплеев.

Наиболее простым примером является параллакс барьер. На экран выводятся две картинки – для левого и правого глаза, нарезанные полосками и расположенные последовательно. Перед экраном располагается маска из черных и прозрачных полос (параллакс барьер). Соответственно, для каждого глаза открыта только половина экрана, не закрытая полосками. Понятно, что в таком варианте разрешение падает в два раза, за счет потери информации. Кроме того, 3D изображение не устойчивое, угол обзора очень мал. Развитие этой идеи, в основном, шло за счет изменения структуры параллакс барьера. В частности, полоски заменяли на микролинзы, голограмму или специальные оптические структуры (растры). Однако, существующие проблемы оставались не решенными.

Параллельно с автостереоскопическими системами (см. выше) развивались различные устройства виртуальной реальности (шлемы, очки). В них использовались либо подача стерео пар на оба глаза пользователя, либо чередование левых-правых изображений (shattering). Чередование изображений наиболее простой способ, поэтому очки такого рода достаточно дешевы. Однако, чередование дает лишь небольшой эффект 3D, основанный на способности нашего мозга "додумывать" детали изображений. Шлемы или очки виртуальной реальности, с подачей правого и левого ракурса на соответствующие глаза, стоят дороже , но и качество обеспечивают повыше. Кроме того, системы виртуальной реальности сильнее изолируют пользователя от окружающего мира (хотя это может рассматриваться и как недостаток). Наибольшей проблемой очков и шлемов является психологический дискомфорт пользователя, поскольку глаза человека обладают свойством фокусироваться на ближайшей плоской поверхности и в то же время сходится на предмете наблюдения. В реальном мире эти два противонаправленных процесса находятся компромисс. В системах виртуальной реальности такой компромисс практически невозможен – откуда и проистекает характерная головная боль после долгого их использования. Кроме того, системы виртуальной реальности изолируют пользователя от мира – и бутерброд за монитором поесть уже нельзя.

В целом большинство систем генерации 3D изображений:

  • не обеспечивают достаточного качества 3D изображений (разрешение, угол обзора)
  • не обеспечивают легкости перехода 2D – ЗD и обратно
  • достаточно дороги для индивидуального пользователя
  • требуют создания специального контента

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

Далее задача стояла так: выпустить с каждой из панелей такой свет, чтобы результирующее световое поле было почти таким же, как у реального объекта (см. голографию выше). "Почти" – очень важно в данном случае, поскольку точно эту задачу решить никогда нельзя – ограничения той же математики. В качества алгоритма решающего эту задачу приближенно были выбраны нейросети. Нейросети – это специальный класс алгоритмов, работающий по образу и подобию человеческого мозга и хорошо решающий задачи в области распознавания образов и приближенного моделирования.


левый глаз правый глаз

Нейросеть запрограммировали таким образом, что бы она рассчитывала специальные картинки для каждой из ЖК панелей (в принципе, их может быть и более двух). Далее свет, проходя сквозь эти картинки, генерирует светового поле, в целом схожее со световым полем реального объекта. "А где же волшебство..." спросите Вы? А волшебства собственно и нет. А есть следующие важные свойства системы.

Система обеспечивает нормальное качество 3D изображения. Поскольку обе ЖК панели активны, информация не теряется и разрешение 3D картинки такое же, как и разрешение 2D. Кроме того, поскольку мы генерируем световое поле, а не стерео пары для левого и правого глаза, Вы можете качать головой влево и вправо без проблем (но пока еще есть ограничение в пределах 30 – 40 градусов) или играть в игру вместе с другом за одним монитором. Причем в игре, допустим гонки на машинах, для двух играющих экран обычного монитора разделяется по горизонтали – так называемый split screen. А с использованием 3D монитора, каждый играющий сможет видеть полноразмерную собственную картинку, так как одной из возможностей использования 3D монитора является формирование под разными углами обзора монитора разных изображений.


Вы также можете использовать 3D дисплей, как 2D, просто выключив переднюю панель. Объемное изображение может быть расположено как за, так и перед панелями. Однако, положение изображения всегда рассчитывается с учетом "реальности" (чтобы не болела голова) (см. абзац про шлемы). Мы планируем, также, добавить в будущем в систему дополнительный блок, следящий не за головой пользователя, а за направлением фокусировки его глаз для улучшения качества показа картинки.

Система относительно дешева – от обычного ЖК монитора ее отличает только дополнительная панель, что при нынешних постоянно снижающихся ценах на ЖК панели не критично. Так как изготовление одного сдвоенного монитора требует меньше ресурсов, чем изготовление двух обычных LCD, то предварительные оценки дают увеличение стоимости сдвоенного LCD монитора на 30% по сравнению с обычной LCD панелью.

И, наконец, самое интересное – перевод существующего контента на язык 3D дисплея. Для этого вернемся, на время, к нейросети. Первоначально, нейросеть была реализована на С++ и расчеты выполнялись на центральном процессоре. Однако, уже первые эксперименты показали, что мощностей ЦПУ не хватает. Тогда алгоритмы нейросети были реализованы с использованием DirectX, что увеличило скорость работы. Вот так нейросеть и попала на 3D карты.

Сразу отмечу, что мы используем двухголовые карты (видеокарта с выходом на два монитора: TwinView, DualHead и т.д.) для управления 3D дисплеем. Что нужно нейросети для работы на карте? Прежде всего, рендеринг как минимум двух (до восьми) ракурсов вместо одного, чтобы воссоздать распределение света в 3D сцене. Далее нейросеть создает произвольные картинки для каждой ЖК панели, складывает их "в уме" и сверяет результат со световым полем, полученным из отрендеренных ракурсов. Естественно "первые прикидки" существенно отличаются от необходимого – происходит небольшое изменение картинок для панелей и новое сравнение. И так до 100 итераций на один кадр. Рендеринг делается один раз и служит эталоном на каждой из ста итераций.

Что же надо для того, чтобы достичь производительности real-time (60 fps)? Ответ: память, быстродействие видео карты и ширина шины памяти на карте. Давайте посчитаем:

  • Хранение изображений: 8 ракурсов (максимум) по 3Мб + 4 промежуточных картинки по 3Мб = 36 Мб
  • Ширина шины: 100 итераций на кадр * 60 кадров в секунду * 3Мб = 1,8 Гб/с
  • Скорость расчета: мы используем пиксельные шейдеры и прямой пересчет в "пиксели в секунду" нетривиален. Однако, посчитанное выше прекрасно ложится на показатели чипа GeForce3 от NVIDIA.

Таким образом, нам необходимы только специальные драйверы к видеокарте, чтобы все существующие игры, реализованные на DirectX, заработали в обьеме на нашем 3D мониторе. В принципе, такой же драйвер можно сделать и для OpenGL.

Тем не менее, дьявол кроется в деталях, таких как оптимизация видеопамяти, организация конвейера и т.д. Сегодня все процессы происходят последовательно: рендер, обучение (итерации), показ. В то же время, концептуально, ничто не мешает организовать обучение параллельно с рендерингом. Кроме того, DirectX рассматривает двухголовую карту как две одноголовые и поэтому перебрасывает картинки в системную память, что тоже отнимает время. Все эти и другие проблемы мы и решим в ближайшее время. Кстати, мы рады пригласить к сотрудничеству всех поклонников и знатоков 3D карт, для максимально быстрого создания драйверов для 3D дисплея.

Так выглядит 3D монитор 'SmartrOn'

Так выглядит 3D монитор 'SmartrOn'

Мы планируем поработать непосредственно с NVIDIA на вопросами оптимизации видеокарт под 3D дисплей. Параллельно идет подготовка к серийному выпуску 3D дисплеев для индивидуальных пользователей. Участие в крупнейших выставках в США и на Тайване в июне этого года (SID 2001, INFOCOMM, PC Expo 2001) показало высокий интерес со стороны западных компаний к нашей разработке. Надеемся, что сможем поставить 3D дисплей Вам на стол в течении ближайших шести месяцев.

Вадим Асадов (asadov@neurok.com)
НейрОК Оптикс
Президент
Информация: 3d.neurok.com , www.treedy.com



Линки по теме:

 

Обсудить/дополнить в конференции