Журнал LinuxFormat - перейти на главную

LXF83:GEGL

Материал из Linuxformat
Версия от 20:34, 9 марта 2008; Bellycat77 (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Что за штука... GEGL?

Не один год нам сулили, что GEGL (Generic Graphic Library) будет огромным скачком в развитии Gimp, но по жизни мы ждем его до сих пор. Майкл Дж. Хэммел пробует сунуть туда нос.

Гегель какой-то… не надо мне этого. Пусть Gimp сделает поддержку CMYK, как в Photoshop. Когда она наконец появится?

Тогда же, когда и GEGL. Видите ли, у разработчиков Gimp возвышенный принцип: «всё делать правильно», а не «наскоро сляпать». Поддержка CMYK не была их изначальной целью – они собирались просто добавить 16-битные цветовые каналы. Но когда прикинули факти- ческий объём работ, осознали: потребуется полная пере- делка внутренней архитектуры. Вот GEGL и является такой архитектурой.

И что, переделка RGB в CMYK

 >>    – это целый проект?

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

   На самом деле перевести изображение из RGB в CMYK

проще простого. Но это лишь часть проблемы.

«Спят усталые игрушки, книжки

 >>     спят...»

Подождите, не засыпайте: всё и правда просто! RGB и CMYK – два типа цветовых моделей. Они являются подмножествами гаммы видимых цветов для различных типов носителей. Модель RGB основана на цветах, вос- производимых люминофорами экрана дисплея. Модель CMYK описывает ситуацию с воспроизведением цветов в технологиях печати.

Стоп-стоп. Что такое цветовая

 >>     модель?

Цвет – тема довольно сложная, но попробую изложить её кратко. Цвет – это излучаемый (как в мониторе), либо отра- женный (как на печатном оттиске) свет. Восприятие опре- деленного цвета зависит от многих факторов, например, от температуры источника отражаемого света. Цветовая модель – как раз RGB или CMYK, запомните – просто абс- трактный способ представления цветов с помощью наборов чисел. Числа лишь маркируют определенные точки в про- странстве цвета, ограничивая ту часть общей гаммы цветов, которую способна охватить данная цветовая модель. Вы всё ещё здесь?

Пока да.

 >>      Хорошо. Визуально цветовая модель обычно

представляется в трехмерном виде: представьте куб, рас- крашенный всеми цветами радуги – это цветовое простран- ство, координатные оси которого определяются цветовой моделью. По ним мы и выбираем нужный цвет. [Вы, может быть, встречали такие обозначения – R255G255B255; в 8-битной модели RGB (т.е. 8 бит данных отводится на зна- чение цвета одной точки в одном канале, что дает 28=256 градаций цвета по каждой из трех осей пространства – от 0 до 255) оно означает точку с максимальным значени- ем красной, зеленой и синей составляющих, т.е. белый цвет – прим.ред.]

   И как скажет вам команда разработчиков Gimp, работа

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

Угадали.

 >>     Существует        очень     важная         цветовая

модель – CIE L*a*b [CIE – Commission International d’Eclairage, Международная комиссия по освещению, – прим. ред.]. Это международный стандарт, определяющий полный набор цветов, который могут воспринимать наши глаза (L озна- чает освещенность, a и b – соответственно, красно-зеленая и желто-синяя оси). RGB – уникальная по отношению к CIE L*a*b модель, потому как многие другие модели (включая CMYK) необходимо преобразовать в RGB, чтобы стало воз- можным их однозначное соотнесение с цветами CIE L*a*b.

   Поэтому думайте о RGB и CMYK как о средствах вос-

произведения цвета, определенного L*a*b, но только при определенных условиях.

Что же это за условия?

>>     Гамма цветов одной цветовой модели (ска-

жем, RGB) отличается от гаммы другой (скажем, CMYK). Распечатайте на принтере фотографию на принтере и под- несите ее к экрану. Цвета не совпадают? Gimp необходимо сообщить об условиях печати на принтере для того, чтобы полученный отпечаток полностью соответствовал изобра- жению на мониторе. Это отнюдь не простая задача.

И GEGL, стало быть, её решит.

 >>      А с чего мы заговорили о

принтерах?

Я же говорю: разработчики обнаружили, что поддержка CMYK потребует куда больше работы, чем просто добав- ление нового пункта меню. Конечно же, GEGL решит про- блему. Код GEGL позволит Gimp работать в различных цветовых пространствах. А в сочетании с информацией о принтерах (также известной как ICC-профили) поможет уравнять печатные оттиски и изображение на экране. Это очень важно для тех, кто работает в области полиграфии, а также при редактировании видео в Gimp.

Вот как, редактирование видео?

 >>      Теоретически – да. Но в действительности вы,

возможно, будете выполнять работу с помощью дополни- тельного модуля, который будет загружать части фильма для редактирования. Вы не будете сразу загружать весь фильм в Gimp. В видеомонтаже свои вопросы, с которыми должен разбираться GEGL.

Правда? Расскажите.

 >>      Хорошо. Давайте взглянем на задачу с точки

зрения конечного пользователя. Представьте, что открыва- ете отсканированную фотографию в Gimp. Одно из первых ваших действий – коррекция гистограммы Уровней. Если вы используете Автоподстройку в диалоге Уровни, то пиксели, близкие к черному, станут чёрными, а близкие к белому станут белыми, а все прочие, что находятся посере- дине, распределятся так, чтобы образовать хорошую гис- тограмму. Однако на некоторых изображениях это может привести к пробелам на гистограмме.

Видал я такое, но в голову не

 >>      брал. Что эти пробелы значат?

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

И как это можно исправить?

 >>      GEGL будет использовать 16 бит на канал, а не 8,

как сейчас. Дополнительные разряды уменьшат ошибки округления и позволят построить более гладкие гистог- раммы. В результате коррекция цвета будет произведена точнее. Благодаря 16-битным цветовым каналам, GEGL обеспечит и улучшенную обработку изображений.

Чудесно. Только... что такое

 >>      цветовой канал?

Помните RGB? R означает красный канал, G – зеленый, B – синий. При использовании GEGL вы сможете работать с другими типами цветовых каналов, пока же Gimp знает только эти (а также альфа-канал, он же канал прозрачности). Каждый 8-битный канал может определить цвет при помо- щи целого числа от 0 до 255, т.е. мы получаем более чем 16 млн. цветов – вроде бы солидная цифра.

   С GEGL (при 16-битном цвете) эта цифра увеличится

до 65535 значений на канал, что даст свыше 281 триллио- на цветов – гораздо больше, чем способен различить глаз. Преобразование цвета пикселя происходит по определен- ной формуле, причём результат может оказаться значением с плавающей точкой, тогда как каналы оперируют только целыми числами. Ошибки округления при работе с 8 бита- ми вызывают появление пробелов на гистограмме уровней. При работе с 16 битами такие пробелы должны исчезнуть.

Значит, GEGL осчастливит

 >>      редакторов видео и печатных

плакатов; мы получим грамотные цветовые пространства.

Как я уже сказал, GEGL не просто разрешит вопросы с цве- тами. GEGL – полноценная система обработки изображений. Gimp будет использовать ее только как внутреннюю часть для задач обработки. Некоторые другие функции GEGL обеспечат чтение и запись графических файлов, геометри- ческие операции, преобразование Фурье и свертки. Также будет предоставлен мозаичный механизм для работы с очень большими изображениями. В конечном счёте будет возможна распределенная обработка изображений по сети.

К чему все это приведет?

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

Поэтому разработка и длится

 >>      так долго? GEGL обещали уже

довольно давно.

Вы правы: хотя GEGL был анонсирован в 2000 году, его все еще нет. Это даже ещё не даже публичный релиз (хотя CVS-срез находится на диске к журналу). Проекту требуются разработчики, чтобы выполнить список постав- ленных задач (домашняя страница проекта – www.GEGL. org, а список задач – на сайте http://cvs.gnome.org/ viewcvs/*checkout*/GEGL/TODO). В настоящий момент только один активный разработчик вносит изменения в CVS. GEGL выпустят, как только проект получит достаточ- но разработчиков и выполнит поставленные цели. Вот так всё просто.

Персональные инструменты
купить
подписаться
Яндекс.Метрика