В компьютерной графике и цифровых изображениях масштабирование изображения означает изменение размера цифрового изображения. В видеотехнологиях увеличение цифрового материала называется масштабированием или повышением разрешения .
При масштабировании векторного графического изображения графические примитивы, составляющие изображение, можно масштабировать с помощью геометрических преобразований без потери качества изображения . При масштабировании изображения растровой графики необходимо создать новое изображение с большим или меньшим количеством пикселей. В случае уменьшения количества пикселей (масштабирования) это обычно приводит к видимой потере качества. С точки зрения цифровой обработки сигналов масштабирование растровой графики представляет собой двумерный пример преобразования частоты дискретизации , преобразования дискретного сигнала из одной частоты дискретизации (в данном случае локальной частоты дискретизации) в другую.
Масштабирование изображения можно интерпретировать как форму повторной выборки изображения или реконструкции изображения с точки зрения теоремы выборки Найквиста . Согласно теореме, понижение разрешения до меньшего изображения из оригинала с более высоким разрешением может быть выполнено только после применения подходящего 2D -фильтра сглаживания для предотвращения артефактов сглаживания. Изображение сводится к информации, которую может нести меньшее изображение.
В случае повышающей дискретизации фильтр реконструкции заменяет фильтр сглаживания.
Более сложный подход к масштабированию рассматривает проблему как обратную задачу , решая вопрос создания правдоподобного изображения, которое при уменьшении масштаба выглядело бы как входное изображение. Для этого применялись различные методы, включая методы оптимизации с условиями регуляризации и использование машинного обучения на примерах.
Размер изображения можно изменить несколькими способами.
Одним из более простых способов увеличения размера изображения является интерполяция ближайшего соседа , заменяющая каждый пиксель ближайшим пикселем на выходе; для масштабирования это означает, что будет присутствовать несколько пикселей одного цвета. Это может сохранить четкие детали в пиксельной графике, но также добавить неровности в ранее гладкие изображения. «Ближайший» в списке ближайших соседей не обязательно должен быть математически ближайшим. Одна из распространенных реализаций — всегда округлять в сторону нуля. Такое округление приводит к меньшему количеству артефактов и ускоряет расчет. [ нужна цитата ]
Билинейная интерполяция работает путем интерполяции значений цвета пикселей, создавая непрерывный переход на выходе, даже если исходный материал имеет дискретные переходы. Хотя это желательно для изображений с непрерывным тоном, этот алгоритм уменьшает контраст (резкие края) таким образом, что может быть нежелательно для штриховой графики. Бикубическая интерполяция дает существенно лучшие результаты при увеличении вычислительных затрат. [ нужна цитата ]
Повторная выборка Sinc теоретически обеспечивает наилучшую возможную реконструкцию сигнала с идеально ограниченной полосой пропускания. На практике предположения, лежащие в основе передискретизации sinc, не полностью соответствуют реальным цифровым изображениям. Повторная выборка Ланцоша , приближение к методу sinc, дает лучшие результаты. Бикубическую интерполяцию можно рассматривать как эффективное в вычислительном отношении приближение к повторной выборке Ланцоша. [ нужна цитата ]
Одним из недостатков билинейных, бикубических и подобных алгоритмов является то, что они выбирают определенное количество пикселей. При уменьшении масштаба ниже определенного порога, например более чем в два раза для всех алгоритмов двойной выборки, алгоритмы будут выбирать несмежные пиксели, что приводит как к потере данных, так и к неверным результатам. [ нужна цитата ]
Тривиальным решением этой проблемы является выборка по рамке, при которой целевой пиксель рассматривается как рамка исходного изображения и производится выборка всех пикселей внутри рамки. Это гарантирует, что все входные пиксели вносят вклад в выходные данные. Основной слабостью этого алгоритма является то, что его трудно оптимизировать. [ нужна цитата ]
Еще одним решением проблемы масштабирования с двойной выборкой являются MIP-карты . Mip-карта — это предварительно масштабированный набор уменьшенных копий. При уменьшении масштаба в качестве источника используется ближайшее MIP-изображение большего размера, чтобы гарантировать отсутствие масштабирования ниже полезного порога билинейного масштабирования. Этот алгоритм быстр и легко оптимизируется. Это стандарт во многих средах, таких как OpenGL . Затраты заключаются в использовании большего объема памяти для изображений, ровно на треть больше в стандартной реализации.
Простая интерполяция, основанная на преобразовании Фурье , дополняет частотную область нулевыми компонентами (подход на основе плавного окна уменьшит звон ) . Помимо хорошей сохранности (или восстановления) деталей, следует отметить звон и круговое перетекание контента от левой границы к правой границе (и наоборот).
Алгоритмы интерполяции, ориентированные на края, направлены на сохранение краев изображения после масштабирования, в отличие от других алгоритмов, которые могут создавать ступенчатые артефакты.
Примеры алгоритмов для этой задачи включают новую интерполяцию по краям (NEDI), [1] [2] Интерполяцию изображений по краям (EGGI), [3] Итеративную интерполяцию на основе кривизны (ICBI), [ нужна ссылка ] и Directional Cubic. Интерполяция свертки (DCCI). [4] Анализ 2013 года показал, что DCCI показала лучшие результаты в PSNR и SSIM на серии тестовых изображений. [5]
Для увеличения компьютерной графики с низким разрешением и/или небольшим количеством цветов (обычно от 2 до 256 цветов) лучших результатов можно достичь с помощью hqx или других алгоритмов масштабирования пиксельной графики . Они создают острые края и поддерживают высокий уровень детализации.
Извлечение векторов или векторизация предлагает другой подход. Векторизация сначала создает независимое от разрешения векторное представление масштабируемой графики. Затем независимая от разрешения версия визуализируется как растровое изображение с желаемым разрешением. Эту технику используют Adobe Illustrator , Live Trace и Inkscape . [6] Масштабируемая векторная графика хорошо подходит для простых геометрических изображений, тогда как фотографии плохо справляются с векторизацией из-за их сложности.
Этот метод использует машинное обучение для получения более детальных изображений, таких как фотографии и сложные произведения искусства. К программам, использующим этот метод, относятся waifu2x , Imglarger и Neural Enhance.
Программное обеспечение на основе искусственного интеллекта, такое как MyHeritage Photo Enhancer, позволяет добавлять детали и резкость к историческим фотографиям, которых нет в оригинале.
Масштабирование изображений используется, среди других приложений, в веб-браузерах , [7] редакторах изображений , программах просмотра изображений и файлов, программных лупах, цифровом масштабировании, процессе создания миниатюр изображений , а также при выводе изображений на экраны или принтеры.
Это приложение представляет собой увеличение изображений для домашних кинотеатров для устройств вывода HDTV-ready контента PAL-Resolution, например, с DVD-плеера. Апскейлинг выполняется в реальном времени, выходной сигнал не сохраняется.
Поскольку пиксельная графика обычно имеет низкое разрешение, она основана на тщательном размещении отдельных пикселей, часто с ограниченной палитрой цветов. В результате получается графика, основанная на стилизованных визуальных подсказках для определения сложных форм с небольшим разрешением, вплоть до отдельных пикселей. Это делает масштабирование пиксельной графики особенно сложной проблемой.
Для обработки пиксельной графики были разработаны специализированные алгоритмы [8] , поскольку традиционные алгоритмы масштабирования не принимают во внимание сигналы восприятия.
Поскольку типичное приложение предназначено для улучшения внешнего вида видеоигр четвертого поколения и более ранних версий на аркадных и консольных эмуляторах , многие из них предназначены для запуска в реальном времени небольших входных изображений со скоростью 60 кадров в секунду.
На быстром оборудовании эти алгоритмы подходят для игр и другой обработки изображений в реальном времени. Эти алгоритмы обеспечивают четкую и четкую графику, сводя к минимуму размытие. Алгоритмы масштабирования искусства были реализованы в широком спектре эмуляторов, таких как HqMAME и DOSBox , а также в 2D- игровых движках и воссозданных игровых движках, таких как ScummVM . Они завоевали признание геймеров, для которых эти технологии способствовали возрождению игрового опыта 1980-х и 1990-х годов. [ нужна цитата ]
Такие фильтры в настоящее время используются в коммерческих эмуляторах Xbox Live , Virtual Console и PSN , чтобы сделать классические игры с низким разрешением более привлекательными на современных HD- дисплеях. Недавно выпущенные игры, в которых используются эти фильтры, включают Sonic's Ultimate Genesis Collection , Castlevania: The Dracula X Chronicles , Castlevania: Symphony of the Night и Akumajō Dracula X Chi no Rondo .
Ряд компаний разработали методы повышения качества видеокадров в реальном времени , например, когда они рисуются на экране в видеоигре. Технология суперсэмплинга глубокого обучения (DLSS) от Nvidia использует глубокое обучение для повышения дискретизации изображений с более низким разрешением до более высокого разрешения для отображения на компьютерных мониторах с более высоким разрешением. [9] AMD FidelityFX Super Разрешение 1.0 (FSR) не использует машинное обучение, вместо этого используются традиционные рукописные алгоритмы для достижения пространственного масштабирования на традиционных модулях затенения. FSR 2.0 использует временное масштабирование, опять же с вручную настроенным алгоритмом. Стандартизированные пресеты FSR не применяются, а в некоторых играх, таких как Dota 2, есть ползунки разрешения. [10] Другие технологии включают Intel XeSS и Nvidia Image Scaler (NIS). [11] [12]