Текст книги "Журнал «Компьютерра» № 13 от 04 апреля 2006 года"
Автор книги: Компьютерра Журнал
сообщить о нарушении
Текущая страница: 5 (всего у книги 13 страниц) [доступный отрывок для чтения: 5 страниц]
Еще одна весьма многообещающая техника – так называемые Coupled Map Lattices (CML). Многие из вас, наверное, слышали про математическую игру «Жизнь». Напомню правила. Место действия – двухмерный массив клеток, противоположные края которого во избежание граничных эффектов отождествлены: получается этакий дискретный тор. Каждая клетка может находиться в двух состояниях: она либо жива, либо мертва. У клетки, очевидно, восемь соседей. Задается распределение живых клеток в начале игры. Это «первое поколение». Каждое следующее поколение рассчитывается по таким правилам: 1) если у мертвой клетки ровно три живых соседа, она оживает; 2) если у живой клетки два или три живых соседа, она продолжает жить; 3) если же живых соседей меньше двух или больше трех, то клетка умирает (от одиночества и от перенаселенности соответственно). Задавая различные первые поколения, можно получать разнообразнейшие картины развития популяции. Так вот, если в игре «Жизнь» разрешить клеткам принимать не два состояния, а больше, и соответственно усложнить свод правил, по которым клетки переходят из одного состояния в другое, то как раз и получится CML. Оказывается, при помощи этих систем очень удобно моделировать целый ряд природных явлений, в частности кипение жидкостей, рост барханов и формирование облаков. Более того, эта техника как будто специально придумана, чтобы ее реализовали на графическом процессоре: N+1-е поколение (текстура) получается из N-го поколения (текстуры) применением одного и того же свода правил (пиксельного шейдера) к каждой клетке поля (пиксела текстуры). Замечу, что я писал такую программу для центрального процессора, и нормального быстродействия удавалось добиться лишь для сеток весьма скромных размеров. Здесь же все просто летает.
Идеологически чем-то похожи на CML и «боиды», при помощи которых уже двадцать лет моделируется поведение стай птиц, косяков рыб, облаков насекомых и т. д. [«КТ» уже писала об этой технике] Если вкратце, каждый член стаи подчиняется трем простым правилам: избегай столкновений; двигайся туда же, куда и все; придерживайся центра стаи. А поскольку область зрения считается весьма небольшой, то движение каждой птицы определяется движением лишь нескольких ближайших ее соседей. Группа итальянских ученых еще в 2004 году написала целиком работающую на GPU мощную систему для моделирования передвижений больших стай птиц (с облетом препятствий, включая динамические) и отрапортовала об отличных скоростных показателях детища. Если же вспомнить, что прямой потомок «боидов», система Massive, использовалась для расчета поведения многотысячных армад в кинотрилогии «Властелин Колец»… Ох, славные битвы грядут, камрады-ролевики!
О программировании систем частиц на современных графических процессорах я могу говорить часами. Хотя бы потому, что именно так называлась одна из моих курсовых работ. Более очевидного кандидата на вынос с CPU, наверное, не найти. Тысячи точек движутся по простым законам, минимально взаимодействуя друг с другом и окружающим миром – или не взаимодействуя вовсе. Выигрыш от того, что эти гигантские массивы данных не гоняются на каждом кадре из оперативной памяти на видеокарту, огромен. Если же приложение таково, что частицам требуется сортировка (такое бывает, например, при моделировании воды), то преимущество шейдерного подхода становится просто разгромным. Мой почти не оптимизированный код давал выигрыш в два-три раза, в Сети же встречаются отчеты о реализациях, дающих восьми– и даже десятикратный выигрыш.
Ну и конечно, на карточку уходит практически вся рутина: анимация (от колыхания травы до обратной кинематики моделей); выделение границ и силуэтных ребер; определение видимости (в том числе закрывание объектов друг другом); LOD-техника (выбор в реальном времени подходящей детализации модели для сокращения числа выводимых полигонов); вычисление пересечений геометрических примитивов (например, луча и объектов сцены, для определения точки попадания пули). GPU стали по-настоящему универсальны и, повторюсь, подходят практически для любых задач. Судя по всему, уже в ближайшие несколько лет можно ожидать серьезного повышения как качества картинки, так и реалистичности взаимодействия с игровым миром. И этому решительно невозможно не радоваться!
ТЕМА НОМЕРА: GPU в кино
Автор: Алексей Калиниченко
Производители видеокарт и разработчики игр уже который год настойчиво обещают кинематографическое качество графики, но выполнить обещания никак не могут. Можно, конечно, «обвинить» киноиндустрию в том, что она не стоит на месте и, не снижая скорости, движется вперед. Но на руках киношников есть два козыря: они обладают куда большими вычислительными ресурсами и широко применяют материал, отснятый камерой. Игры же принципиально отличаются от кино интерактивностью: если один-единственный кадр для картины может просчитываться несколько минут и даже часов, то для игр это абсолютно недопустимо. В играх ситуация меняется в соответствии действиям пользователя, и просчитать все варианты заранее просто невозможно. А вот некоторый аналог композинга [Технология комбинированных съемок, основанная на совмещении и смешивании 2D-видеопоследовательностей; подробнее ] в свое время широко применялся для двухмерных игрушек, в которых большинство персонажей было сделано на основе спрайтов [Спрайтовая анимация основана на быстрой смене картинок, на которых тело персонажа находится в различных положениях. Больше всего это похоже на «мультик», нарисованный на уголках блокнота]. Но с широким распространением 3D-ускорителей эта технология стала неактуальной и почти не развивалась.
Однако сказать, что эти два «мира графики» не пересекаются, нельзя. В большинстве современных игр наличествуют предпросчитанные заставки, технология изготовления которых ничем не отличается от большого кино. А вот обратное проникновение до недавнего времени было только на стадии разработки 3D-моделей. Ведь 3D-редактор должен в реальном времени отображать постоянно изменяющуюся модель. Поэтому вполне логично, что тут используются технологии, подобные игровым. Правда, если мы вспомним, что OpenGL, одна из двух основных библиотек для разработки 3D-игр, была создана именно для применения в таких задачах, можно усомниться, кто у кого заимствовал технологии. Правда, в дальнейшем большинство нововведений в графике сначала появлялось в игровой индустрии и лишь потом перекочевывало в профессиональные программы, упрощая работу моделлеров и аниматоров и все больше приближая картинку, с которой работает человек, к тому, что увидит зритель.
Потом realtime-алгоритмы «проникли» в производство аниматиков – это небольшие видеоролики, которые обычно создаются до начала съемок и серьезной работой над cg[Computer graphics – компьютерная графика]. Они нужны для согласования того, как режиссер «видит» сцену, с тем, как оператор ее отснимет, и с тем, что и как в последствии предстоит сделать компьютерщикам. Согласитесь, намного проще работать, когда можно взглянуть на окончательный результат, хотя бы и в сильном приближении. Для подобных задач важнее не качество, а оперативность внесения изменений. Иногда их приходится вносить непосредственно на съемочной площадке, когда нет ни желания, ни возможности подождать полчасика, пока «машина думает». В аниматеках чаще всего нет ни теней, ни сложного света, и даже текстуры вполне могут отсутствовать. Современные видеокарты с легкостью справляются с такими задачами.
Теперь перейдем к самому интересному – к финальному рендерингу. И фильмы, и игры состоят из последовательности кадров, при этом в обоих случаях кадр – это проекция трехмерного пространства, каким-то образом заполненного треугольниками (полигонами), на плоскость экрана. Оба действа разбиты на некоторые отрезки, на которых действие происходит в одном и том же окружении. Только в игре этот отрезок называется уровнем, а в кино – планом. Принципиальная разница только в одном – куда будут помещены результаты: на экран или в файл для последующего перенесения на пленку. Получается, что для столь похожих задач используются принципиально разные аппаратные средства (GPU и CPU). Тут, конечно, можно увидеть игру букв GPU – Games, CPU – Cinematograph. Но причина отнюдь не в буквах – для решения этих задач применяются принципиально разные алгоритмы.
Описывать принцип действия GPU, думаю, смысла нет, а вот на технологиях «большого» рендеринга следует остановиться. В некотором роде они стремились как можно в большей степени подражать природе. При расчете освещения, например, часто используется технология, повторяющая естественный ход лучей, с многочисленными отражениями и преломлениями (метод фотонных карт). Для этого из источника света «испускается» большое количество фотонов, а на все объекты натягивается дополнительная текстура, в которой будет храниться информация об освещении. Если фотон попадает на поверхность какого-либо предмета, то он оставляет в его текстуре освещенности след и либо отражается, либо проходит сквозь предмет, преломляясь. После некоторого количества отражений или после того, как энергия фотона стала слишком мала, он умирает. Таким образом, при достаточном количестве фотонов мы получаем кроме основных текстур для объектов еще и текстуру освещенности, которую можно использовать при дальнейшем рендеринге.
Вычислительная сложность этого алгоритма очень высока, ведь надо проследить путь каждого фотона. Зато он прекрасно параллелится – движение всех частиц абсолютно независимо.
Решение подобной задачи для сложной сцены может занимать много времени, и вполне понятно желание как-то ускорить процесс. По аналогии с 3D-играми и для рейтрейсеров стали появляться акселераторы. Компания Advanced Rendering Technology производит PCI-карту аж с восемью узкоспециализированными процессорами на борту. Она предназначена для профессионального применения и на некоторых задачах позволяет получить ускорение более чем в десять раз.
Мощности современных GPU могут пригодиться не только «тридешникам». Как нельзя кстати они подойдут и для нелинейного монтажа в реальном времени. Рассмотрим самый простой пример – переход между двумя последовательными кадрами, осложненный анимацией. Представьте, допустим, эффект перелистывания страницы, при этом конец первой видеопоследовательности продолжает идти на одной странице, а на другой уже начинается вторая. Нет ничего проще: загружаем кадры на видеокарту, моделируем 3D-сцену с перелистывающимися страницами, устанавливаем камеру и, последовательно выводя на страницы соответствующие кадры, получаем желаемый эффект.
Так же просто реализуются все эффекты взаимопроникновения кадров, но для этого уже лучше использовать пиксельные шейдеры. Можно сделать специальную текстуру перехода и выводить на экран пиксел со второй последовательности кадров, только если значение яркости на текстуре смешения стало меньше, чем номер кадра, деленный на их количество (в сцене перехода). Таким образом, нулевой кадр будет полностью из первой последовательности, последний – из второй, все же остальные будут смешаны из обоих в соответствии с текстурой перехода. Интересный эффект получится, если вместо текстуры перехода использовать одну из последовательностей. Тогда сначала будут заменены самые темные участки изображения, а лишь потом яркие.
На видеокарте можно решать и более сложные задачи совмещения видеопоследовательностей, когда кадр собирается из большого количества слоев и фрагментов. До недавнего времени главным препятствием для массового применения GPU в видеомонтаже было низкое качество рендеринга с узким динамическим диапазоном, но сейчас и эта проблема решена.
Также в киноиндустрии применяется большое количество операций фильтрации – когда значение пиксела заменяется суммой некоторого количества соседних пикселов с определенными весовыми коэффициентами. Подобным образом решаются задачи размытия, выделения границ, увеличения контрастности… да что там говорить, практически все, что может делать Photoshop, – это операции фильтрации. При помощи пиксельных шейдеров эти операции делаются напрямую. Они нужны в первую очередь на этапе обработки изображения после рендеринга. Здесь кроме разнообразной фильтрации применяется цветокоррекция, добавляются разнообразные плоские дымы, снег и осколки. С этим делом прекрасно справляется GPU.
Подводя итог, посмотрим, что может дать GPU киноиндустрии. Во-первых, он может существенно упростить труд моделлера, позволяя интерактивно работать с достаточно сложными моделями. Во-вторых – принципиально ускорить процесс рендеринга. Что позволит или уменьшить время работы над проектом, или улучшить качество финального результата. В-третьих, GPU способен оказать существенную помощь при монтаже, причем не только на стадии проектирования, где видеоускорители обосновались давным-давно, но и при просчете финального результата.
ТЕМА НОМЕРА: Перегнать, не догоняя
Авторы: Алексей Калиниченко, Павел Воронин
В последнее время на рынке появилось множество мониторов, дающих иллюзию трехмерности изображения. Большинство из них используются в паре с очками той или иной конструкции. Однако еще в 2000 году в России был создан дисплей, не требующий никаких дополнительных средств и дающий неплохое качество объемного изображения. Мы встретились и побеседовали с его создателем, старшим научным сотрудником факультета вычислительной математики и кибернетики Московского Государственного университета Андреем Лукьяницей.
Расскажите, пожалуйста, об устройстве вашего стереодисплея.
– Аппарат состоит из двух жидкокристаллических панелей, между которыми помещена специальная маска. Панели подключены к компьютеру, и на них выводятся изображения, рассчитанные с помощью искусственной нейросети. В результате в заданной области перед дисплеем формируется световое поле, которое соответствует трехмерному объекту, находящемуся за экраном. Идея гениально проста. «Гениальна» в том смысле, что проста. Для того чтобы появилось стереоизображение, необходимо, чтобы правый и левый глаза видели разные картинки. Как этого можно добиться? Обычно используют специальные очки: с красным и синим стеклами, поляризационные, shuttering[Очки, поочередно закрывающие правый и левый глаза. При этом на монитор выводится изображение, соответствующее открытому в данный момент глазу] и т. д. А здесь у вас просто есть два изображения, разнесенных по глубине. Когда вы на них смотрите, каждый глаз видит свою картинку (для левого и правого глаза суммируются разные пикселы, так как лучи идут под разными углами).
Это могли придумать несколько веков назад. На CеBIT 2000 мы ехали еще без дисплея. Уже была готовая численная модель, и мы показывали макет: рассчитали картинки, распечатали их на струйном принтере и закрепили канцелярскими зажимами к разнесенным по глубине стеклам. Если рассматривать такую конструкцию с определенного расстояния на свет, то будет видна объемная картинка. Есть довольно смешные фотографии, как наши высокопоставленные чиновники разглядывали такой самодельный «дисплей».
Вы говорили, что между панелями установлена маска. Зачем она нужна?
– Маска – это диффузор. Она необходима для того, чтобы бороться с муаром. Муар-эффект наблюдается при наложении любых регулярных структур: заборов, сетки рабицы и т. п. Его можно наблюдать и дома: например, если посмотреть на тюль, сложенный вдвое.
На LCD-панелях есть различимая черная решетка: на экран наклеена непрозрачная пленка, в которой вырезаны маленькие отверстия по форме пикселов, а промежутки образуют сетку. И когда мы устанавливаем два экрана друг за другом, эти сетки накладываются и появляется муар. (Кстати, сейчас многие производители LCD-панелей создают трудности для нашей технологии: ради улучшения контрастности они увеличивают ширину черной маски между пикселами.) Поэтому мы и устанавливаем диффузор – это такая тонкая пленка, которая слегка размывает изображение с заднего экрана и тем самым убирает тонкие полоски черной межпиксельной решетки. В результате остается только одна сетка (на переднем экране), а значит, решается проблема муара. Кроме того, диффузор значительно увеличивает угол обзора.
А как вы рассчитываете изображения для экранов?
– Для этого решается задача, аналогичная компьютерной томографии. У нас есть стереопара – то есть два изображения, соответствующие тому, что должен видеть каждый глаз. И надо так подобрать картинки для переднего и заднего экранов, чтобы при проецировании они складывались в заданную стереопару. Решение этой задачи – сложная математическая проблема[Здесь возникает так называемое уравнение Фредгольма первого рода. Эта задача некорректна, а ее решение неустойчиво]. Поэтому было решено использовать нейронные сети. Каждому пикселу ставится в соответствие по нейрону, а связи и весовые коэффициенты вычисляются из соображения геометрии прохождения лучей. Нейроны связаны тогда и только тогда, когда через соответствующие им пикселы проходит луч, попадающий в левый или правый глаз. Коэффициенты же подбираются в соответствии с характеристиками используемых LCD-панелей и диффузора.
Такая система позволяет быстро и эффективно вычислять проекции (фактически на каждый пиксель требуется лишь несколько простейших арифметических операций). Теперь, прогоняя заданные картинки через построенную нейронную сеть и сравнивая получаемые изображения с заданной стереопарой, мы при помощи метода последовательных приближений можем с достаточной точностью построить искомые изображения.
И сколько длится просчет одного кадра?
– Сначала алгоритм был реализован на CPU, и расчет одного кадра занимал не меньше двух минут. На современных процессорах все равно будет порядка одной минуты. В любом случае, для приложений реального времени это слишком много.
Лет шесть назад мой коллега, старший научный сотрудник Института высокопроизводительных вычислительных систем РАН Евгений Епихин заметил, что графическая карта имеет более мощный процессор, чем популярный тогда Pentium. В результате мы стали думать, как использовать GPU для нашей задачи. Оказалось, что при использовании нейросети задача идеально ложится на графический процессор. Довольно быстро мы смогли добиться гораздо более высокой производительности системы (около пятнадцати кадров в секунду).
Подождите, но ведь 2000 год – это максимум второй GeForce. А значит, ни о каких шейдерах и речи не шло?
– Конечно, пиксельных шейдеров тогда еще не было. Но нам удалось обойтись и без них. Мы воспользовались структурой предложенной системы, которая позволила представить трехмерный объект в виде суперпозиции двухмерных изображений. А для работы с плоскими объектами нам хватило стандартных операций с текстурами. Таким образом, мы «подручными средствами» смоделировали действие нашей нейронной сети. При этом получается огромный выигрыш по скорости, поскольку все операции выполняются на GPU, который именно под эти операции и оптимизирован.
Получается, что при таком подходе не учитывается влияние установленной между экранами размывающей маски?
– Да, действительно, до появления пиксельных шейдеров смоделировать действие маски в реальном времени не удавалось. Мы даже пытались заказать специальный DSP-процессор для решения этой проблемы, но по ряду причин и он не подошел. А на современных карточках нам удалось смоделировать более сложную нейронную сеть, учитывающую воздействие маски, и добиться производительности в 30 fps.
А есть реальные устройства на основе вашей технологии? Где они применяются?
– Да, есть. Я тогда работал в фирме NeurOK [www.neurok.ru], и было выпущено несколько готовых дисплеев, которые демонстрировались на крупнейших международных выставках, таких как Comdex и Infocomm. Насколько мне известно, было изготовлено несколько игровых автоматов для американского казино, кажется MGM. Нам удалось скооперироваться с одной фирмой, которая производила специальные установки на основе больших параболических зеркал. Если в такую оптическую систему поместить любой монитор, то изображение трансформируется, в результате чего получается иллюзия объема. Ну а когда туда поставили наши дисплеи, объем увеличился многократно.
А почему не удалось дальше раскрутиться?
– Просто рынок пока не готов. Ну, рынка как такового нет. Однажды на Comdex’е к нашему стенду подошел пожилой японец, долго стоял и смотрел, как мы общаемся с посетителями. Потом представился. Оказалось, что он в Sony руководил группой, которая продвигала цветной телевизор. Он сказал, что столкнулся с теми же проблемами, что и мы. Качество первых цветных телевизоров было низким, и все спрашивали: а зачем это нужно? Ведь на черно-белом телевизоре все и так прекрасно видно! Прошло время. И где вы сейчас найдете черно-белый телевизор?
Нам потенциальные производители и консьюмеры говорили, что все хорошо, только глубина изображения мала. То есть хочется, чтобы изображение прямо на тебя высовывалось. Но ведь нигде в жизни такого объема нет! Большой объем мы видим только тогда, когда объект приближается к нам вплотную, а при этом мы сразу начинаем нервничать.
Я сотрудничаю с оптиками из МИИГАиК[Московский Государственный университет геодезии и картографии, www.miigaik.ru], фотограмметрия – это их хлеб, а там стереоизображение используется для восстановления трехмерной структуры. Для обработки снимков специалисты обычно используют стереосистему со специальными очками. Так вот, они мне говорили, что относительно небольшой процент людей может долго работать с такой системой. То есть человек отработал день-второй-третий – и все, жалуется на постоянные головные боли. Мозг просто не может этого выносить, и как говорят, «глаза ломаются». Страшное напряжение, зачем это нужно?
А объясняется все очень просто: в реальной жизни люди привыкли к небольшому параллаксу. Я знакомился с медицинскими исследованиями – для комфортного восприятия угол схождения глаз не должен превышать двух градусов. Если больше, начинает болеть голова.
А насколько реалистичным получается изображение на вашей системе?
– Полный реализм. Глаз четко различает, что это объем. На выставках я обычно сначала делал один экран прозрачным, и видно – картинка плоская. Включаю второй – сразу появляется объемность. Но сказать, что изображение высовывается так, что хочется его потрогать, не могу – этого, естественно, нет. Хотя можно подобрать такие исходные изображения, что глубина будет казаться больше, но в среднем – так, как мы в жизни и видим.
Насколько я знаю, кроме вашей есть еще технологии 3D-дисплеев, не требующие очков.
– Да, сейчас много разных систем выпускается. Например, Sharp производит панели с микролинзовым растром. Но они так устроены, что чуть голову в сторону сдвинешь – нет объема. Еще чуть в сторону – у вас изображение для левого глаза поменялось местами с изображением для правого. Область, в которой видно стерео, очень узкая. Причем настолько, что надо сидеть не шелохнувшись. А некоторые фирмы даже выпускают устройства для слежения за глазами зрителя. Когда наблюдатель меняет положение, то либо экран поворачивается, либо на экран выводится подстроенное изображение.
А у нашего нейродисплея допустимая зона достаточно большая. На выставках по два-три человека одновременно смотрят. Кто по центру, тот вообще классно видит, кто сбоку – чуть похуже (у границы экрана заметно, что есть два раздельных изображения). Отошел подальше – вообще видно прекрасно.
А у вас были еще какие-нибудь проекты с использованием GPU? Нейросетей на GPU?
– Были еще две задачи, связанные с 3D. Во-первых, проекционная система, в которой объем также был виден без очков. В ней использовались четыре проектора, находившиеся на расстоянии нескольких метров от специального экрана. Поскольку проекторы были разнесены по горизонтали на десятки сантиметров, при сведении в одну область экрана возникали трапецеидальные искажения. Для их компенсации был разработан специальный алгоритм. На каждый проектор по очереди выводился тестовый прямоугольник, фиксировавшийся камерой. Изображение анализировалось программой, определявшей координаты углов прямоугольника, а затем рассчитывались координаты плоскости, на которую нужно спроецировать изображение для компенсации искажений. После этого на проекторы выводились результаты наложения исходных изображений на соответствующие плоскости, полученные с помощью DirectX.
Вторая задача была связана с преобразованием обычных фильмов в объемные. В мире существует несколько компаний, которые могут это делать, но только с помощью оператора-человека. Нам удалось разработать алгоритмы, позволяющие с неплохим качеством преобразовывать 2D в 3D в реальном времени. Здесь тоже не обошлось без GPU и DirectX.
Сейчас мы разрабатываем систему для распознавания лиц. Как раз при помощи нейронных сетей на графических процессорах. От нее требуется очень высокая производительность. Аналогичные алгоритмы можно будет применять и для распознавания отпечатков пальцев, сетчатки глаза и т. п. Но это пока на стадии проектирования.
В прошлом году у меня на ВМиК была дипломница, Маша Карасева, мы с ней решали задачу восстановления структуры плазмы в установках ТОКАМАК по видеоизображению. Она, правда, использовала OpenGL, и скорость там была, конечно, не такая высокая, как в DirectX, но основные принципы те же самые.
Задача такова: по снимку плазмы, имеющей форму тора, нужно установить ее внутреннюю структуру. Задачи такого типа называются обратными: нам известен результат, и нужно узнать, при каких условиях он получен. Прямая задача проста: каждый слой плазмы светится по-разному, и если нам известно сечение плазмы, можно построить набор вложенных тороидальных поверхностей с заданной прозрачностью и потом «нарисовать» полученный объект, например с помощью OpenGL. Нас же интересовала обратная задача – получение сечения плазмы. Для ее решения сечение в начальный момент формировалось случайным образом, и по нему решалась прямая задача – получение «фотографии» плазмы. Построенное изображение сравнивалось с реальным, вычислялись отличия, сечение корректировалось, и так далее, до достижения необходимой точности.
И что смешно, мы несколько раз докладывали об этой работе, и многие не могли понять, в чем особенность предложенного алгоритма. Понимаете, это ведь очень необычно: получается, что обратная задача томографии решается прямо на видеокарте.
Кстати, я считаю, что вообще многие задачи, родственные томографии, естественным образом ложатся на карту. На кафедре математической физики факультета ВМиК группа профессора А. В. Гончарского занималась проблемами вычислительной диагностики, в том числе и контролем печатных плат. Платы уже давно стали многослойными, и если появлялся брак во внутренних слоях, его невозможно было увидеть. Платы просвечивали под разными углами и решали задачу томографии: восстанавливали структуру каждого слоя. И дальше уже смотрели, какова толщина дорожек, конфигурация и пр. Расчеты проводили еще на БЭСМ-6, и алгоритм работал часами. А на GPU можно делать контроль практически в реальном времени.
Кстати, мы с коллегами разработали венчурный проект, осуществление которого может помочь обогнать зарубежных производителей, не догоняя их. Речь идет об объемном телевизоре. Дело в том, что сейчас практически нет стереоконтента, а уж телевизионное стереовещание – дело будущего. Наш стереотелевизор сможет принимать обычные программы, преобразовывать их в реальном времени в объемные, проводить необходимые расчеты и выводить изображения на стереоэкран. Примитивный прототип такой системы был создан нами пару лет назад на обычном компьютере, в который вставили карту TV-тюнера и подключили к нейродисплею. Видеокарта вполне справлялась и с преобразованием 2D в 3D, и с расчетами изображений для нейродисплея. Дело осталось за малым – доработать алгоритмы, зашить их в чипы, а главное – найти венчурного капиталиста, кто бы все это финансировал…