Антиалиасинг
Новый параграф Лебедева говорит о его незнании смысла слова «антиалиасинг»:
Общая размытость и сглаженность возникают из-за автоматического применения алгоритмов антиалиасинга, задача которого — не допустить простого увеличения пикселей. Так как взять изобразительную информацию графической программе неоткуда, она додумывает. Алгоритмы догадывания хорошо работают, когда нам нужно уменьшить или немного увеличить фотографическое, то есть гладкое, изображение.Антиалиасинг тут ни при чём, это называется интерполяцией.
Лебедев правильно употребил в данном контексте термин антиалиасинг (сглаживание).
Интерполяция — это математический метод вычисления, разные способы которого в частности используются в различных алгоритмах антиалиасинга.
Так что учите матчасть :)
Антиалиасинг — это не какое-то абстрактное сглаживание, а фильтрование компонент выше частоты Найквиста. В случае увеличения пиксельной картинки, антиалиасинг отвечает за то, чтобы у большой картинки пиксели сохранили вид, как можно более близкий к квадратному. А «сглаживание», в том виде, в каком оно нарисовано у Лебедева, это именно интерполяция, то есть, «достраивание» высокочастотных компонент картинки при увеличении её разрешения.
Я не говорю что антиалиасинг это абстрактное сглаживание, я хотел сказать что это сглаживание в общем.
Я опираюсь на то что интерполяция — это численный метод определения промежуточного значение величины по дискретному ряду её значений. Разве понятие интерполяция в контексте графики по сути своей что-то другое.
Раз уж вы так хорошо в этом разбираетесь, покажите тогда эту картинку с использованием антиалиасинга, чтобы я наверняка понял что я заблуждаюсь (к сожалению не силён в компьютерной графике)
Фильтрование — это отбрасывание.
>Вы хотите сказать, что это самое фильтрование не достраивает высокочастотные компоненты изображения?
Нет, оно их отбрасывает. Грубо говоря, когда мы представляем некоторое произвольное изображение в ограниченном разрешении, мы тем самым сохраняем в нем только частоты до частоты Найквиста. Если в этом изображении были частоты выше неё, то они в таком представлении изображения превратятся в частоты ниже неё (которые как раз называются alias’ами, из-за чего и название aliasing) и наложатся на данные самого изображения, исказив их. Поэтому перед тем, как представлять изображение в цифровом виде (или создавать новое представление уже существующего цифрового изображения — например, изменять его разрешение), нужно перед собственно семплированием убрать из него все компоненты выше частоты Н., чтобы не возникали искажения алиасинга. Вот механизм фильтрации этих частот и называется антиалиасингом.
К сожалению, представление изображения в виде цифрового сигнала не очень интуитивное, и в одном абзаце трудно объяснить, чтобы было понятно.
>Я не говорю что антиалиасинг это абстрактное сглаживание, я хотел сказать что это сглаживание в общем.
Это конечно в некотором роде сглаживание (т. к. отбрасывание высоких частот — это сглаживание сигнала), но не абы какое, а именно отбрасывающее высокие частоты у изображения, которое рассматривается как цифровой сигнал.
>Я опираюсь на то что интерполяция — это численный метод определения промежуточного значение величины по дискретному ряду её значений.
Именно.
В случае с вот таким вот увеличением: http://img.artlebedev.ru/kovodstvo/sections/155/home-big.gif, мы считаем что исходная картинка — полна, что у нее никаких других деталей не должно быть, и просто представляем её в увеличенном разрешении (то есть, просто представляем ту же самую полную картинку в другом формате)
В случае с увеличением вот таким: http://img.artlebedev.ru/kovodstvo/sections/155/home-big-aliased.gif, мы считаем, что исходная картинка — неполна, что она уменьшенная версия какой-то более детализированной (полной) большой картинки, и при ее увеличении мы достраиваем (интерполируем) неизвестные нам 176x160 пикселей исходя из известных изначально 11x10.
>Раз уж вы так хорошо в этом разбираетесь, покажите тогда эту картинку с использованием антиалиасинга
А эта картинка просто увеличена в 16 раз, то есть конечное разрешение кратно начальному, поэтому никакого алиасинга в этой картинке нет, и большие «пиксели» у неё идеально квадратные размером 16x16.
Алиасинг возникает при некратном увеличении, например, если бы мы попытались увеличить картинку 10x10 до размера 11x11 (к сожалению, нет редактора под рукой, чтобы это продемонстрировать).
Антиалиасинго это примерно так:
http://stratero.ru/homm/antialiasing.png
А вообще хорошее у Вас замечание вышло: Илья оказался не прав в том, что поправил Лебедева, но Лебедев привел не удачный пример, на котором нельзя объснить почему Илья, поправивший Лебедева, не прав :)
Всем остальным: пойдите по этой ссылке, она объясняет всё без слов.
См.: http://en.wikipedia.org/wiki/Antialiasing
Вот, нарисовал собственную картинку именно для того случая, что у нас:
http://smages.com/i/66/25/66251f5cb53bf72fcbde08fc5f632ed3.jpg
Коряво, конечно, но, надеюсь, что более-менее понятно.
Размытие по Гауссу, как и антиалиасинг, как и остальная подобная билибирда — методы обработки (если хотите фильтры) основаные на интерполяционных алгоритмах. Нельзя просто так использовать понятие интерполяция, нужно тогда уж контекретизировать метод, например, бикубическая- билинейная- сплайн- интерполяция — что в свою очередь есть метод основаный на интерполяционном алгоритме.
Совершенно неважно, какой из методов интерполяции использовал Лебедев при масштабировании своего домика. Факт состоит в том, что а) интерполяция в том или ином виде использовалась; б) антиалиасинг ни в каком виде не использовался.
Все не то.
«Увеличение с антиаласингом» не то: антиалиасинг не способ увеличения. У вас как раз различия линейной и билинейной интерполяции получились.
«Работа антиалиасинга» не то: таже билинейная интерполяция.
Антиалиазинг не связан с изменением размеров. Хотя, конечно, некоторые алгоритмы антиалиасинга используют изменение размеров и интерполяцию.
>антиалиасинг не способ увеличения
Я знаю. Антиалиасинг — это способ избавления от алиасинга. Увеличение — это обработка изображения, которая, как и любая другая обработка может вносить алиасинг, соответственно, увеличение с антиалиасингом — это такое увеличение, которое его старается не вносить.
>Антиалиазинг не связан с изменением размеров.
Антиалиасинг может применяться при любом преобразовании изображения, которое может вносить алиасинг, в том числе и при увеличении.
Илья Бирман
>Антиалиасингу просто по определению неоткуда было взяться.
При увеличении ровно в 16 раз — не было. Но тем не менее, некачественное произвольное увеличение точно так же может привносить алиасинг, как и уменьшение (конечно, при увеличении он заметен гораздо меньше).
Лебедев же неправ уже тем, что применил непонятное иностранное слово там, где на сто процентов уместным было бы понятное русское сглаживание.