Архивы: по дате | по разделам | по авторам

Анимированная голография

АрхивНаука и жизнь
автор: Игорь Осколков   15.09.2009

Голография была изобретена более 60 лет назад. За это время технологии ушли далеко вперёд, а мы можем видеть простенькие голограммы чуть ли не каждый день - на акцизных марках, упаковках продуктов, кредитках и т.п.

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

Две голограммы, которые сделал в 60-х годах русский физик Ю.Н. Денисюк

Для создания голограмм придумано немало материалов, разработаны детальные методики съёмки объектов и сцен, а лазеры стали настолько качественными и дешёвыми, что появилась возможность создания любительских голограмм (правда, не самого лучшего качества). При определённых финансовых затратах можно даже попытаться снять какую-нибудь коротрометражку. С отображением отснятого контента тоже проблем нет - все технологии давно отработаны. Наиболее распространены сейчас так называемые голографические дисплеи, которые ещё несколько лет назад были в диковинку. Они отличаются размером диагонали - от 17"до 40", заключены в довольно массивные ящики и способны выводить изображения размером до 30 см на расстояние до полуметра. Одним из самых известных производителей таких штук является компания Provision. Правда, их продукция больше используется для получения вау-эффекта, каких-то более менее заметных достижений по части развития направления голографии в искустве, они не породили. Очевидно, что голограммы, выводимые на дисплей, предварительно просчитываются. Но вот именно с рендерингом анимированных голограмм приемлимого качества в режиме реального времени до сих пор и не совладали. В чём же дело?

Промо-ролик дисплеев Provision

Для начала надо обратиться к физической сущности голографии. Что представляет собой голограмма, отснятая, например, на фотопластинку? Это не набор точек, в каждой из которых содержится кусочек информации о некой области реального предмета (как в обычной фотографии). Внутри голограммы запечатлена интерференционная картина некой области пространства, в которой находился снимаемый объект. При просвечивании голограммы (или отражении от неё) мы увидим тот свет, который отражался бы от запечатлённого на ней объекта. Любая голограмма обладает одним очень удивительным на первый взгляд свойством. Если мы разрежем её на несколько частей и просветим какую-нибудь из них лазером, то мы всё равно увидим целый объект (а не его часть), пусть и в худшем качестве. (Если разрезать обычную фотоплёнку, то по каждому кусочку никак нельзя будет получить полное изображение объекта!) То есть в каждом "пикселе" голограммы содержится информация обо всём объекте сразу. Таким образом при рендеринге голограммы для каждой точки мы должны просчитать картину интерференции всего объекта. (При обычном рендеринге фильма типа "Шрек" мы просчитываем каждый пиксель, не обращая внимания на все остальные.) Нетрудно догадаться, что это занятие требует огромных вычислительных мощностей. Для рендеринга в реальном времени нам необходимо либо использовать очень мощные кластеры, либо... придумать какой-либо специализированный вычислитель для такого рода задач.

Японские учёные решили пойти по второму пути и создали систему, которая называется “HORN-6 специализированная кластерная вычислительная система для электроголографии” (HORN-6 special-purpose clustered computing system for electroholography). Для начала надо отметить, что разработки в данной области начались ещё в конце 80-х, а предшественница данной системы была создана в 1994 году и называлась HORN-1 (от HOlographic ReconstructioN). Что же представляет собой эта система?

Внешний вид платы HORN-6

Основным элементом является специально разработанная PCI-плата, которая, собственно, и называется HORN-6. На плате распаяны 4 программируемые FPGA-микросхемы Xilinx XC2VP70-5FF1517C с 738 Кб памяти на борту. Каждый чип присоединён к 256 Мб общей памяти DDR-SDRAM. Для передачи данных всего этого хозяйства по шине PCI используется пятый FPGA-чип Xilinx XC2V1000-5FG456C с 90 Кб памяти. Любопытно, что по внутреннему устройству используемые микросхемы в чём-то напоминают современные видеокарты: большое количество вычислительных блоков с небольшим количеством памяти для хранения текущих данных + достаточно ёмкая общая память. Почему не были использованы именно GPU? Могу только предположить, что их программируемость на современном этапе недостаточно высока. Поэтому, скорее всего, исследователи были вынуждены использовать чипы общего назначения.

Внутреннее устройство PCI-платы

Для демонстрации работы был собран кластер из 4-х машин, соединённых гигабитным каналом с сервером. В каждой машине было установлено 4 платы HORN-6, то есть для обсчёта использовалось суммарно 16 плат. В качестве сервера использовалась машина с Intel Pentium 4 2.8 ГГц и парой планок PC3200 512 Мб. Для вычислительных нужд использовалась следующая конфигурация: Intel Pentium 3.4 ГГц вкупе с 4xPC3200 512 Мб. В качестве ОС везде применялся Linux-дистрибутив Fedore Core. Для вывода изображения - проектор с отражающей LCD-панелью с разрешением 1920x1080. Изображение на панели (картина интерференции) формируется вычислительным кластером и отправляется на сплиттер, который облучается He-Ne лазером с диной волны 632,8 нм. На расстоянии 1 м от панели находится линза, через которую выводится окончательное голографическое изображение размером примерно 5x5x5 см.

Общая схема установки HORN

Схема кластера для рендеринга голограмм

При рендеринге область 1920x1080 делится на 16 равных частей и каждая плата занимается расчётом своего куска по алгоритму пересекающихся лучей. Какова же производительность этой системы? Для изображения с 1 млн. пикселей мы получаем максимальную скорость отрисовки примерно 1 кадр в секунду. Для изображения из 100000 пикселей удалось достигнуть частоты в 10 кадров/с, что уже достаточно близко к кинематографической. Для реальных задач такой результат, конечно же, не подходит. Но для сравнения исследователи просчитали аналогичные кадры на PC с Intel Pentium 3.4 ГГц и обычной видеокартой. Итог удручающий - для расчёта кадра с 1 млн. пикселей такой машине потребовалось более часа с четвертью! Таким образом HORN-6 примерно в 4600 раз быстрее.

Этапы рендеринга: исходная модель, картина интерференции, изображение на линзе

Сравнение скорости работы HORN-6 и обычного PC

Где можно использовать данную технологию? Применений может быть масса, но в первую очередь такими проектами заинтересуется индустрия развлечений. Это может быть голографическое кино (правда, с цветностью тоже как-то надо решить вопрос), игры, интерактивные объекты, инсталляции, экспонаты в музее etc. Широкие возможности открываются для технологий дополненной реальности. Полезной окажется разработка и в медицине, обучении, моделировании и т.д.

Неужели нас ждёт такая реклама? (Кадр из фильма "Назад в будущее-2")

Для более детального ознакомления с HORN-6 рекомендую почитать описание от самих разработчиков и посмотреть видео с демонстрацией работы системы.

Поделиться
Поделиться
Tweet
Google
 
© ООО "Компьютерра-Онлайн", 1997-2018
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.