LXF83:GEGL
(Новая: == Что за штука... GEGL? == ''Не один год нам сулили, что GEGL (Generic Graphic Library) будет огромным скачком в развитии Gim...) |
Версия 20:34, 9 марта 2008
|
|
|
Что за штука... 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 выпустят, как только проект получит достаточ- но разработчиков и выполнит поставленные цели. Вот так всё просто.