Подпишитесь на нашу ежедневную рассылку с новыми материалами

Наука


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


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

Новый метод направлен на борьбу как с расходованием ресурсов, так и заряда аккумулятора. Эндрю Адамс из Лаборатории компьютерных наук при Массачусетском институте технологий, рассказывает, что ими был разработан новый язык DSL или Domain Specific Language, а также связанный с ним бинарный компилятор, создающие специальный уровень абстракции, при помощи которого программисты могут быстро проводить графические манипуляции и оперировать с большими участками мультимедийных данных, из которых состоят файлы фотографий. Кроме того, DSL достаточно интеллектуален для того, чтобы самому выбирать наиболее оптимальный способ обработки фотографических данных, исходя из конкретной ситуации.

Также разработчики создали прикладной язык программирования Halide, где можно описывать функции и методы, используемые при графическом процессинге. Согласно данным самих создателей, на основе их разработки обработка графики осуществляется примерно в 3-6 раз быстрее в сравнении с существующими методами.

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

Разработчики говорят, что их система является расширением языка С++ и совместима с мобильными процессорами ARM, а также Nvidia Cuda. Ограниченная функциональность есть и в OpenGL. 

Сайт языка Halide расположен по адресу http://halide-lang.org/
Нужные услуги в нужный момент
{banner_819}{banner_825}
-20%
-30%
-33%
-37%
-70%
-20%
-20%
-40%
-90%
-20%
-10%