Jump to content

hqx


hqx
Разработчик(и) Максим Степин
Первоначальный выпуск 25 июля 2003 г .; 21 год назад ( 25 июля 2003 )
Стабильная версия
1.1 / 29 сентября 2003 г .; 20 лет назад ( 29 сентября 2003 г. )
Написано в С++
Тип Алгоритм масштабирования пиксельной графики
Лицензия LGPL 2.1
Веб-сайт gimp.org

hqx («шкала высокого качества») — набор из трёх алгоритмов масштабирования изображений, разработанный Максимом Степиным. Алгоритмы hq2x , hq3x и hq4x увеличиваются в 2, 3 и 4 раза соответственно. Первоначально он был создан в 2003 году для эмулятора Super NES ZSNES , [ 1 ] и используется в таких эмуляторах , как Nestopia , F. CEUX Snes9x. и Snes9x .

Алгоритм

[ редактировать ]

Пиксели исходного изображения перебираются от верхнего левого угла к правому нижнему. Для каждого пикселя окружающие 8 пикселей сравниваются с цветом исходного пикселя. Формы обнаруживаются путем проверки пикселей одинакового цвета в соответствии с порогом YUV . hqx использует цветовое пространство YUV для расчета цветовых различий, поэтому различия в яркости имеют больший вес, чтобы имитировать человеческое восприятие. [ 2 ] Это дает в общей сложности комбинации похожих или непохожих соседей. Чтобы расширить отдельный пиксель до блока пикселей 2×2, 3×3 или 4×4, расположение соседей просматривается в заранее определенной таблице, которая содержит необходимые шаблоны интерполяции. [ 2 ]

Данные интерполяции в справочных таблицах ограничены требованием сохранения непрерывности сегментов линий при оптимизации гладкости. Создание этих справочных таблиц с 256 фильтрами происходит относительно медленно и является основным источником сложности алгоритма: этап рендеринга очень прост и быстр и предназначен для выполнения в реальном времени на процессоре с поддержкой MMX . [ 2 ]

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

... для каждой комбинации должно быть определено наиболее вероятное векторное представление области, при этом должна быть сохранена идея границ между различными цветными областями изображения, причем направление края должно быть как можно ближе к правильному. . Затем это векторное представление растеризуется с более высоким (3x) разрешением с использованием сглаживания, и результат сохраняется в справочной таблице.

Реализации

[ редактировать ]
  • Исходный алгоритм был перенесен на DevIL (но сохранен на языке C). [ 2 ]
  • Доступны порты на языки Java и C#. Эти реализации расширяют возможности макросов. [ 3 ] [ 4 ]
  • Порт C ++ от byuu, автора bsnes , который кодирует LUT экономно. Бюу использовал симметрию шаблонов для создания такого кодирования и написал несколько заметок по интерпретации исходных справочных таблиц. [ 5 ]
  • libretro реализует два семейства шейдеров на Slang/ HLSL , GLSL и Cg :
    • Семейство hqx , которое является настоящим hqx. [ 6 ] Поскольку он работает на современных графических процессорах , таблицы поиска заменяются текстурами. [ 7 ] Текстуры были созданы путем опроса модифицированной версии hqx на предмет ее переключателя/регистра.
    • Семейство Scalehq , которое часто путают с hqx. Он не связан с hqx, а скорее представляет собой общий алгоритм масштабирования и сглаживания. [ 8 ]
  • hqx также был реализован в ffmpeg для масштабирования изображений и видео в 2x, 3x или 4x. Отчет о создании перевода для ffmpeg находится здесь , и его использование может быть примерно таким: ffmpeg -i %1 -filter_complex hqx=2 hqx2-%1 для создания 2-кратного изображения или видео.

См. также

[ редактировать ]
  1. ^ «ХиЭнд3D» . 05.12.2013. Архивировано из оригинала 5 декабря 2013 г. Проверено 12 февраля 2023 г.
  2. ^ Перейти обратно: а б с д и Земек, Кэмерон (6 мая 2019 г.). "hqx README (порт grom358)" . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  3. ^ Гарсия, Эду (6 марта 2019 г.). "hqx-java" . Гитхаб .
  4. ^ Тамши. "hqxsharp" . Гитхаб .
  5. ^ Бьюу. Объявление о выпуске . По состоянию на 14 августа 2011 г. общедоступная реализация опубликована на Pastebin
  6. ^ "хкх" . Либретро Документы .
  7. ^ Блок, Жюль (12 апреля 2019 г.). «hqx-шейдер» . Гитхаб .
  8. ^ К. Хантер (20 июня 2014 г.). «Грязные штаны: компьютерный блог: сравнение шейдеров True Hq2x с xBR» . Грязные штаны .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 880675c84554da56bb4830740cb77327__1711541160
URL1:https://arc.ask3.ru/arc/aa/88/27/880675c84554da56bb4830740cb77327.html
Заголовок, (Title) документа по адресу, URL1:
hqx - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)