Сглаживания, основанные на работе после финальной отрисовки



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

Самым массовым алгоритмом стал FXAA, который даёт максимальное мыло, при минимальных трудозатратах. И он реализовал попытку усреднения значений соседних пикселей, которые не прижились в алгоритмах, работающих на этапе отрисовки. FXAA предполагает нахождение контрастных переходов по яркости в соседних пикселях, далее по изменению направления контрастности окрестных пикселей определяется примерный наклон контрастной линии, и далее пиксели перекрашиваются в градиентные цвета от предполагаемой линии разделения объектов.

Но есть и более сложные методы сглаживания постобработкой, один из примеров – это MLAA (морфологическое сглаживание). В реальности не прижился, но он был одним из родоначальников класса сложных методов сглаживания постобработкой.

На вход этому типу сглаживания должно подаваться уже готовое изображение без сглаживания. Алгоритм находит места с резким изменением цвета на основе трёх видов паттернов «Z», «U» или «L» формы. Эти паттерны со всех сторон способны очертить какой–то объект. И различные сочетания этих паттернов и особенности пересчитываются заранее описанными алгоритмами в градиентные переходы. Проблема только в том, что во втором классе сглаживаний – игровой движок уже не знает где реально находятся границы объектов, то есть алгоритм работает с готовым изображением, поэтому анализируется весь кадр. В том числе и текстуры объектов. И, естественно, всякие точки, кружочки, трещины, прожилки и прочие детали алгоритм сглаживания может отнести к границам объектов.

Рисунок 5 – Результат сглаживания с помощью «Z», «U», «L» форм

 

Именно в этот момент на сцену выходит мыло. Малого того что размываются границы объектов, так ещё и всё, что задумывается как дополнительная детализация начинает размазываться.

И это сглаживание я лично в играх и не припомню, и работает оно не на видеокарте, как большая часть сглаживаний, а на процессоре.

Но очень часто можно встретить приемника этого типа сглаживания – а именно SMAA. Работает оно уже на видеокартах, а не процессорах. Для распознавания объектов и контуров происходит не только при помощи разности цветов, но и от разности яркости соседних пикселей, то есть по контрастности, что улучшает качество поиска граней объектов. Кроме того, к «Z», «U», «L» формам добавляются и диагональные, что помогает лучше обрисовывать острые грани объектов и уменьшить погрешности форм. Естественно это не отменяет мыла и в чистом виде без добавок других методов это сглаживание сейчас используется редко.

Сглаживание на основе анализа набора последовательных кадров

В целом сейчас вообще есть тенденции в графике к тому чтобы не перерисовывать каждый кадр полностью, а сохранять какие–то не изменившиеся части кадра. Отчётливо это видно в проявлениях DXR. И тени в играх набираются по несколько кадров, от чего видны шлейфы от незаполненных тенями объектов.

И для глобального освещения переработка света идёт несколько кадров, что тоже можно видеть в играх. Со сглаживанием придумали схожую систему. Вообще накладывание друг на друга похожих вещей очень сильно улучшает их (кроме болезней и долгов). Допустим для песен голос певцов можно наложить в две дорожки, записав два раза практически одно и то же, и тогда голос становиться гораздо плотнее и не стандартнее.

С картинками это работает так же. Если взять и сдвинуть глазами пару изображений, кроме стереоэффекта можно заметить ещё и то, что чёткость изображения становиться невероятно высокой, потому что на месте одного пикселя вы видите два.

В играх реализовали это несколько иначе. Математика и сглаживания позволяют сейчас сдвигать текст менее, чем на 1 пиксель. Для суперсемплирования или SSAA один настоящий пиксель разбивался на малые подпиксели. А затем усреднялись значения подпикселей для отрисовки одного настоящего. Во временном сглаживании соседние кадры смещаются на величину примерно тех же пол кадра, что и виртуальные подпиксели в SSAA. И на основе этих кадров уже так же можно уточнить линии переходов между объектами и сгладить, усредняя данные.

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

Рисунок 6 – Артефакты, полученные при обработке TAA

 

Естественно с этим стали активно бороться. Основной метод борьбы – это попытаться описать движение всех объектов и камеры в игре. То есть на лету нужно распознать все контуры, выделить их как некие объекты, далее проанализировать следующие и прошлые кадры, в них так же найти все контуры и состыковать объекты по их контурам, а не по одним и тем же местам соседних кадров. В общем – в деле оптимизации вычислений тут необъятный океан. И в целом – временное сглаживание постоянно развивается в части улучшения работы. И в текущий момент оно стало настолько удовлетворительно работать, что его стали использовать как технологию по апскейлу. То есть игра рендериться, скажем, 720р на FullHD мониторе, а за счёт соседних кадров алгоритмы добивают детали до более высоких разрешений. Естественно это работает хуже, чем наивные высокие разрешения, но тенденция такая есть.


Практическая часть

Улучшение изображений

Возьмем любое не сложное изображение, например, рисунок.

Рисунок 7 – Исходное изображение

 

С помощью программы Adobe Photoshop создаем дубликат слоя и применяем фильтр «размытие по Гауссу» со значением 0,8. За счет этого размываются границы между цветами создавая плавный градиент. Полученные цвета заполняют пропуски, в исходном изображении.

Рисунок 8 – Изображение с фильтром «размытие по Гауссу»

 

Корректируем контрастность полученного изображения для того чтобы контрастные переходы на изображении стали более различимы глазу и изображение стало четче. Сдвигаем ползунок вправо к значениям 20–28 и принимаем изменения. Яркость оставляем без изменения. Так цвета на картинке изменятся незначительно.

Рисунок 9 – Процесс изменения контрастности на слое

 

Затем применяем фильтр «Умная резкость», чтобы уточнить границы и избавиться от лишнего шума. Сдвигаем ползунки до того момента, пока результат не начнет нам нравиться и применяем изменения.

Рисунок 10 – Процесс применения фильтра «Умная резкость»

 

Теперь начинаем менять прозрачность слоя для того чтобы пиксели нового изображения не ложились на пиксели исходного изображения и заполнили ступенчатые переходы более плавными градиентами.

Рисунок 11 – Сравнения результатов

Улучшение аудио

Возьмем простенькую аудиозапись в формате MP3 128 Кбит/с и для наглядности конвертируем ее в новый файл, но уже с более низким качеством MP3 64 Кбит/с.

 

 

Рисунок 12 – Сопоставление звуковых дорожек с разным качеством

Поставим записи друг под другом в аудио редакторе. Можно заметить, что основные пики повторяются. Но, если взглянуть на участок «а» на рисунке выше, можно заметить, что пики на полученной записи начинаются чуть позже. Это связано с тем, что при понижении качества была произошла потеря полезного сигнала в угоду меньшего веса фала.

При прослушивании эта разница четко заметна. В новой записи не слышно части инструментов и голос сильно искажен. На участке «б» четко слышна разница в звучании голоса на записи.

Создадим дубликат полученной записи и сдвинем его вперед на 1–2 миллисекунды. Этого будет вполне достаточно для того чтобы заполнить пробелы в записи и сделать звук более плотным.

При прослушивании замечаем, что пропуски действительно заполнились и звук стал на много лучше.

Так как мы сильно уменьшали качество сигнала, то вернуть запись к первоначальному состоянию не получится, потому что потеряна детализация, которую программа при конвертации сочла неполезной информацией – то есть шумом, но результат можно считать сносным и допустить для комфортного прослушивания.

Рисунок 13 – Сопоставление новой записи с дубликатом со сдвигом

 


Заключение

 

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

Существует множество способов обработки и улучшения качества исходных сигналов. Самый простой из них – сложение сигнала с небольшим сдвигом.

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

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

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

При выполнении работы достигнута основная цель и выполнены служащие задачи:

– рассмотреть принципы улучшение сигналов,

– восстановить исходное качество изображения и аудио записи,

– провести анализ этапов улучшения изображения и аудио сигала.

 


Дата добавления: 2021-07-19; просмотров: 55; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!