PDA

Просмотр полной версии : Обработка изображения (как приблизиться к реальному ZX Spectrum)



PheeL
12.03.2005, 17:28
Вопрос такого характера. Насколько я понял со слов посетивших в прошлом году "данное эммм... мероприятие" (с) Оп. Ы, то показ спектрумовской графики осуществлялся посредством ПыЦы подключенного в видеопроектору. Тогда я представляю себе те ужасы что там творились... Громадные Квадраты неинтерполированных пикселей и четкие границы атрибутных знакомест на весь экран. Т.е. все "плюсы" более высокоточного вывода картинки. Надеюсь не надо объяснять почему для нашего спекки это неправильно? И то что спектрум в оригинале ваще выдавал такую мазню на телеке, что всё смотрелось как надо! :)
Поэтому у меня есть конкретное предложение. Я делаю в фотошопе action который стандартными фильтрами добивается некоторого сходства картинки с той, что якобы должна получаться на реальной машине (ё-моё, ну как в эмуляторах делают, только чуть "красивше"). Потом я этот action аттачу прям сюда - народ его ценит и если всё в порядке, он отдается человеку который будет рулить партийной графикой и он все работы "проходит" данным экшеном после чего они дружно отписываются в .avi, .png, .jpg или в чем там у вас пойдет показ с ПыЦы на ЦыЦы.
Да\Нет ?

breeze
12.03.2005, 18:54
Да\Нет ?

ну если это не будет сводится к банальному блюру, то можено посмотреть... :rolleyes:

PheeL
12.03.2005, 19:42
ну если это не будет сводится к банальному блюру, то можено посмотреть... :rolleyes:

Вот и я сейчас задумываюсь как лучше всего это реализовать. Просто блюрить - это крайний вариант и мне он самому не нравится аПсолютно. Я планирую поиграть цветовыми каналами на предмет их пересечения друг с другом (т.е. хитро блюрить их между собой по маскам). Конечно, правильнее всего в данной ситуации было бы иметь представления о формировании изображения в реальном спектруме (ну типа почему такая мазня получается), но я буду исходить из более адекватного конечного вида картинки после разных настроек в фильтрах. Да, и ессно размер картинки увеличится как минимум в 3 раза, т.е. будет 768х576, потому как размазывание будет требовать большего разрешения чтобы частично передать смешивание.

kgbplus
12.03.2005, 21:42
Вопрос такого характера. Насколько я понял со слов посетивших в прошлом году "данное эммм... мероприятие" (с) Оп. Ы, то показ спектрумовской графики осуществлялся посредством ПыЦы подключенного в видеопроектору. Тогда я представляю себе те ужасы что там творились... Громадные Квадраты неинтерполированных пикселей и четкие границы атрибутных знакомест на весь экран. Т.е. все "плюсы" более высокоточного вывода картинки. Надеюсь не надо объяснять почему для нашего спекки это неправильно? И то что спектрум в оригинале ваще выдавал такую мазню на телеке, что всё смотрелось как надо! :)
Поэтому у меня есть конкретное предложение.
.......
он все работы "проходит" данным экшеном после чего они дружно отписываются в .avi, .png, .jpg или в чем там у вас пойдет показ с ПыЦы на ЦыЦы.
Да\Нет ?

ИМХО, гарантированный результат будет только в случае следующей "производственной цепочки": Спек - Палкодер - AV-in - PC, а еще лучше модулятор и ТВ-тюнер. Хотя может я и не прав.

PheeL
12.03.2005, 22:03
ИМХО, гарантированный результат будет только в случае следующей "производственной цепочки": Спек - Палкодер - AV-in - PC, а еще лучше модулятор и ТВ-тюнер. Хотя может я и не прав.

Есть вариант проще : Эмулятор - Composite Video (тюльпан) - TV . Но есть проблема - это тоже слишком хороший вариант для Спека :) Не смогу я сэмулировать на своем Sony (не)работу Рубин Ц202. Но будем стараться. Завтра первую версию action'ов (для PhotoshopCS (возможно и на младших версиях будет работать)) запостю.

CHRV
13.03.2005, 00:47
Есть вариант проще : Эмулятор - Composite Video (тюльпан) - TV . Но есть проблема - это тоже слишком хороший вариант для Спека :) Не смогу я сэмулировать на своем Sony (не)работу Рубин Ц202. Но будем стараться. Завтра первую версию action'ов (для PhotoshopCS (возможно и на младших версиях будет работать)) запостю.
Готов предоставить для такого дела совершенно безвоздмездно один PAL кодер!

PheeL
13.03.2005, 02:06
Готов предоставить для такого дела совершенно безвоздмездно один PAL кодер!

Да не, спасибо, я и так справлюсь :) 5 лет цветоделения в фотошопе дают о себе знать :)
Итак результат. Поскольку у меня нету фтп-шника чтобы напрямую линковать сюда картинки, то будет 2 аттача. Первый - это сам action, второй - обычная картинка и результат работы фильтра. Я пользуюсь PhotoshopCS (это 8-ая версия, если вдруг что), поэтому посчитал возможным пока оставить action без тестирования в более ранних версиях (это к вопросу о возможных багах). Формат картинки должен быть 256х192 !_без бордюра_! . Значит, запускаем фотошоп, ищем закладку Actions, раскрываем её, жмём на стрелочку справа от надписи и выбираем пункт Load Actions... - указываем в качестве файла ZX Screen v0_1.atn . После этого в меню Actions появляется папка с одноименным именем. Кликаем в папку и запускаем сам action который в ней вложен.
Так по-идее должна выглядеть картинка на пати (если захотят с фильтром возиться). Чтобы точно в этом убедиться мне нужен проектор :)
Версия фильтра пока не конечная ибо я ещё не реализовал коррекцию палитры (чтобы независимо от преобразуемого скриншота цвета всегда выходили идентичными). Да, те кто будет говорить что "там просто blur" - расстрел на месте. Посмотрите на действия выполняемые action'ом.

SMT
13.03.2005, 03:08
картинка впечатляет! но у меня нет фотошопа, а хотелось бы понять алгоритм... насколько он длинный?

random
13.03.2005, 06:54
фильтр это конечно хорошо, но в этом году (как и в прошлом) спектрум будет показываться по такой схеме:

спектрум > pal coder > s-video in minidv > firewire in pc > dv-avi (178мб в минуту)

пал кодер, скорее всего именно от CHRV.

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

kgbplus
13.03.2005, 08:03
фильтр это конечно хорошо, но в этом году (как и в прошлом) спектрум будет показываться по такой схеме:

спектрум > pal coder > s-video in minidv > firewire in pc > dv-avi (178мб в минуту)

пал кодер, скорее всего именно от CHRV.

но фильтр очень интересный и можно будет проверить по качеству с такой связкой. но это будет работать только на статичных картинках.
а зачем minidv?

SMT
13.03.2005, 08:57
Версия фильтра пока не конечная ибо я ещё не реализовал коррекцию палитры (чтобы независимо от преобразуемого скриншота цвета всегда выходили идентичными). Да, те кто будет говорить что "там просто blur" - расстрел на месте. Посмотрите на действия выполняемые action'ом.
а какой список фильтров используется (ну нет у меня фотошопа, чтобы посмотреть)

можешь прогнать вот эту искусственную картнику через фильтр? лучше брать SCR, а не PNG, чтобы использовать твою палитру. результат просьба не jpeg-ить, в выложить в PNG

random
13.03.2005, 09:20
а зачем minidv?

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

PheeL
13.03.2005, 12:33
много причин. во-первых удобно в плане портативности и самого процесса, во-вторых очень хорошее качество, ну а также бакап и все такое.
Я, простите, про что тут выше распинался? В первой своей мессаге. Если под хорошим качеством имеется ввиду именно качество изображения.

PheeL
13.03.2005, 13:06
фильтр это конечно хорошо, но в этом году (как и в прошлом) спектрум будет показываться по такой схеме:

спектрум > pal coder > s-video in minidv > firewire in pc > dv-avi (178мб в минуту)

пал кодер, скорее всего именно от CHRV.

но фильтр очень интересный и можно будет проверить по качеству с такой связкой. но это будет работать только на статичных картинках.
Ну что ж, если на связке спектрум > pal coder > будет наиболее сильное ухудшение изображения (фактически эта связка и будет хардварным фильтром), то тоже очень ничего вариант. Потому как вся остальная цепочка слишком качественна, даже пожатие кодеком в avi-шнике. Мой же вариант подходит действительно только для статических картинок, и единственный его плюс в данном случае в том, что вся подготовка и сборка в видеопоток происходит только на ПыЦы как и с другими работами, что называется "не отходя от кассы". Но выбор за вами. Скорее всего вариант с pal coder'ом будет предпочтительнее. Хотя хотелось бы посмотреть на скриншот результата ближе к пати :)

PheeL
13.03.2005, 13:20
а какой список фильтров используется (ну нет у меня фотошопа, чтобы посмотреть)
можешь прогнать вот эту искусственную картнику через фильтр? лучше брать SCR, а не PNG, чтобы использовать твою палитру. результат просьба не jpeg-ить, в выложить в PNG

А чем тебя не устраивает твой же TV Emulation? (ну раза в 2 блюр убавить только :D ) По-моему очень даже похоже. Вот.
Тут я распинаться про свои мысли насчет фильтра не хочу, потому как много и скучно выйдет и не по-теме. Я тебе сейчас в мыло (если найду. На форуме отключено, а в хелпе к Unreal'у просто нету) напишу и картинку получившуюся как раз заброшу.

Conan
13.03.2005, 16:13
Я, простите, про что тут выше распинался? В первой своей мессаге. Если под хорошим качеством имеется ввиду именно качество изображения.
О качестве изображения я бы не говорил: «хорошее» - «плохое». Наверно правильнее сказать: «точно повторяющее оригинальное». Если конечно я правильно понял конечный смысл идеи PheeL'a.



Что бы точно повторить оригинальное изображение надо проследить весь пусть преобразования и понять, какие искажения возникают на каждом из этапов преобразования:

1. RGB > UVY

2. UVY > PAL

3. PAL > UHF (PAL)

Далее в телевизоре в обратном порядке.

Кроме того, значительный вклад в формирование изображения вносит CRT (ЭЛТ) телевизора.



1. Преобразование происходит по след. правилам:

Y = 0.299R + 0.587G + 0.114B

U = R - Y, а V = B – Y

Обратный процесс в телевизоре:

R = Y + U,

B = Y + V,

G = Y - 0.509U - 0.194V



Поскольку изначальные RGB в Speccy формируются одним задающим генератором, фазовые искажения отсутствуют. Зато есть искажения амплитудные, их корень – неидеальные компоненты в схемах кодирования декодирования. Как правило это резисторы с точностью не более 5%. Фактически это выражается в незначительных искажениях цветового баланса всей картинки, и этим можно пренебречь.



2. Сигналы U и V пропускаются через фильтры НЧ (ограничиваются по частоте до 1,2 МГц). Затем V задерживается на одну строку (64 микросекунды) и модулирует (частотно) поднесущую цветности (4.433 618 МГц) имеющую не постоянную фазу, а изменяющуюся от строки к строке на 180 градусов. U так же модулирует поднесущую цветности, но ее фаза неизменна. Затем сигналы суммируются. Сигналы гашения и синхронизации подмешаны в Y изначально (в ZX Spectrum). В приемнике PAL сигнал цветности проходит линию задержки на длительность одной строки, после чего происходит его сложение и вычитание с основным (незадержанным) сигналом. В процессе этого совпадающие по фазе сигналы складываются, а противоположные по фазе - вычитаются. Таким образом, сигналы V и U полностью разделяются, что исключает возникновение перекрестных искажений. Однако это приводит к уменьшению цветового разрешения по вертикали ровно в два раза (до 7,8кГц).

То есть фактическое цветное разрешение PAL: <1,2 МГц по горизонтали и 7,8кГц по вертикали. Это легко привязать к частоте пикселей в Speccy (7 МГц).

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

Еще одним недостатком (или особенностью) реализации PAL кодера в ZX Spectrum, является наличие отдельного синхрогенератора (для генерации поднесущей - 4.433 618 МГц). Это приводит к интерференции с сигналом передачи пикселей (7 МГц) и возникновению муара на изображении.



3. Используемый в UHF-модуляторе метод преобразования (амплитудная модуляция PAL) приводит к дополнительным искажениям: уменьшается максимальная скорость изменения сигнала (фильтр НЧ). В телевизоре за счет двойного преобразования (ВЧ > ПЧ > НЧ), так же вносятся дополнительные искажения (фильтрация НЧ). Все это приводит к возникновению некоторой размытости изображения, в реальных условиях.



Кроме того, на качество реального изображения оказывает значительное воздействие расфокусировка изображения и несведение лучей в CRT (ЭЛТ). Эти факторы приводят к дополнительной размытости. Играет роль и увеличенный (по сравнению с мониторами) размер и форма зерен люминофора, которые так же могут сглаживать (либо нет) углы у пикселей.



Вот, пожалуй, и все. Это драфт, так что если о чем забыл, не взыщите.



Приложил так же фотографию с телевизора (ZX Spectrum, UHF, TV) и скриншот аналогичной картинки из эмулятора. С фильтром PheeL'a получается пока не совсем то… Хотя идея мне очень понравилась. Если бы ее поддержали разработчики эмуляторов… Не знаю возможно ли это технически (хватит ли скорости для приемлемой точности).


P.S. Часть треда (начиная с письма PheeL'a) перенесу в раздел «Эмуляторы».

PheeL
13.03.2005, 17:34
О качестве изображения я бы не говорил: «хорошее» - «плохое». Наверно правильнее сказать: «точно повторяющее оригинальное». Если конечно я правильно понял конечный смысл идеи PheeL'a.
Совершенно верно. Назвать его "хорошим" по сегодняшним меркам не получится, поэтому я привел такое определение как сравнительную характеристику. Потому как "оригинальное" качество тоже варьировалось в широких пределах в зависимости от TV(монитора) и модели компьютера (параметров его видеовыхода).


Приложил так же фотографию с телевизора (ZX Spectrum, UHF, TV) и скриншот аналогичной картинки из эмулятора. С фильтром PheeL'a получается пока не совсем то… Хотя идея мне очень понравилась. Если бы ее поддержали разработчики эмуляторов… Не знаю возможно ли это технически (хватит ли скорости для приемлемой точности).
Абсолютно справедливо, что после моего фильтра картинка не будет близко похожа на "оригинал" с реального Спектрума. Очень сложно путём стандартных действий в action'ах создать похожую картинку. Но я полагаю, что всё-таки это лучше чем обычный blur+scanlines который используется в эмуляторах на сегодняшний день. К моему великому сожалению, мы с Conan'ом говорим на разных языках, потому как я в железе ноль и могу понять собеседника рассказывающего в основном только про программную реализацию, а в данном вопросе просто необходимо знать все нюансы хардварной составляющей. Грубо говоря я могу действовать только "на глазок".
В моём фильтре что в основном "эмулируется" :
1) это выравнивание яркости когда "решетка" из пикселей цвета с bright 1 совпадает по яркости с этим же цветом в bright 0. Такой приём часто применяет Diver в своих картинках, да и во многих экранах от спектрумовских игрушек (например заставка от Cabal) этот метод тоже используется, что даёт возможность предположить об аналогичном восприятии конечного изображения на "родном" Спекки (когда рядом стоящие знакоместа не разваливаются на "шахматную доску" и квадраты тёмного цвета). Данные операции происходят в RGB каналах.
2) представление точки в виде квази-точек люминофора. Поскольку точное воспроизведение точек люминофора стандартного телевизора затруднительно (ну если только в районе разрешения 2048х1536 или выше), то я действовал по такой схеме : делаем motion blur под углом в 45 град. для красной составляющей (опять же работаю с RGB каналами изображения), тоже самое для зелёной под 0 град. и -45 град. для синей. Таким образом получается "звёздочка" из цветов. В их пересечении образуется белый пиксел. Особенно хорошо заметно работу этой части фильтра на белых линиях в черном фоне. Хотя тут тоже есть недоработка. Я не "откусываю" от пиксела его "лишний вес" . Т.е. для красной точки - это те места где на экране находится зеленый и синий люминофор. Поэтому у меня получаются ненормально "толстые" пикселы, но они придают дополнительную яркость квази-точке.
3) Уже знакомый всем scanline. Делается по-простой схеме. Первый пиксел линии белый, второй 50% чёрного (ну или серый), третий 100% чёрный. Дальше накладываю линии по multiply (AND) . Белый пиксел ничего не вычитает, серый вычитает 50% яркости из участка точки, черный выключает яркость полностью (стирает). Это по-идее должно передавать расстояние между люминофорными точками по-вертикали, а может просто потому что так луч идет. Я не знаю.
4) Небольшой Gaussian монохромный шум - накладывается на scanlines и вместе с ними уже на изображение.

Как уже понятно, тут не эмулируется "съезжание" ярких\темных атрибутов друг на друга и др. многие аспекты. Но опять же хочу подчеркнуть, что за неимением более подходящего фильтра (потому что всем забить и если сам не сделаешь что-нибудь, никто не пошевелится) и отсутствием у action'ов достаточной свободы действий (их надо суметь составить так чтобы везде потом работало), считаю получившийся у меня результат _приемлемым_ , но не более! Всяко лучше чем потом на ЦЦ кусать локти смотря на громадные квадраты. Всё графикс компо сольют же...

SMT
13.03.2005, 21:14
фактически в TV Emulation (unreal) и используются идеи, предложенные Conan'ом. то есть сигнал разбрасывается на YUV, вводятся разные задержки на UV, как на несколько точек, так и на строку. качество плохое, потому что коэффициенты выбраны произвольно и разрешение не удваивается (а сейчас я заметил, что ScreenPheeLter утраивает разрешение. кстати, непонятка - если 3-я строка scanline с нулевой яркостью, почему она не пропадает в изображении, или это артефакты JPG?). в TV Emulation происходит интерполяция средствами видеокарты, результат совсем не тот...

насчёт скорости можно сказать, что перечисленные фильтры (кроме гауссовского шума, не знаю, как его быстро сделать) - двумерные КИХ-фильтры, их все можно представить как один фильтр, матрица которого скомбинирована из исходных (также, как при рисовании 3d графики отдельно не делают повороты, переносы и преобразование к координатам камеры для каджой точки, а считают результирующую матрицу)

SMT
13.03.2005, 21:16
PheeL, ещё вопрос. как происходит "выравнивание яркости"?

diver
14.03.2005, 07:01
PheeL, те картинки я рисовал на расстроеном телике. Резкость была сбита и контрастность завышена. Когда мне потом G.D. настроил его, после армии, то вся графика уже не выглядела так круто :(.

и если сравнивать "на глазок", то на TV моя картинка была гораздо более яркой и не столь размытой, даже когда резкость была сбита. скорее всего изображение "как в орининале, на TV" и "наилучшее качество с разными фильтрами" - это разные вещи, ибо телик и проектор не одно и то же. Это я к тому, Pheel, что даже на телике, конечно, было видно различие между цветом с bright-off и цветом с черной текстурой и bright-on, они сливались только если смотреть издалека и особо детали не разглядывать.

GriV
14.03.2005, 09:01
я имею в виду оригинал для спекка

Conan
14.03.2005, 10:11
я имею в виду оригинал для спекка
фотографировал сам в качестве наглядного материала для сайта. Но скажу честно, что выбрал картинку, где искажения хорошо заметны.

PheeL
14.03.2005, 17:14
PheeL, те картинки я рисовал на расстроеном телике. Резкость была сбита и контрастность завышена. Когда мне потом G.D. настроил его, после армии, то вся графика уже не выглядела так круто :(.
А теперь представь как это всё выглядело через антенный вход, а не через RGB? Я думаю нормально всё. Качество изображения примерно была одинаковая просто зависила от разных параметров.


и если сравнивать "на глазок", то на TV моя картинка была гораздо более яркой и не столь размытой, даже когда резкость была сбита. скорее всего изображение "как в орининале, на TV" и "наилучшее качество с разными фильтрами" - это разные вещи, ибо телик и проектор не одно и то же. Это я к тому, Pheel, что даже на телике, конечно, было видно различие между цветом с bright-off и цветом с черной текстурой и bright-on, они сливались только если смотреть издалека и особо детали не разглядывать.

Да я всё понимаю, но основная идея была не добиться максимального соответствия с реальностью, а избегнуть КВАДРАТОВ на пати, чтобы нас самих инфаркт (мегадемо) не хватил от этого ужаса... А чем этого добиваться - аппаратными "фильтрами" или програмными - дело десятое. Я предложил максимально с моей точки зрения простой и релоцируемый вариант для ПЦ, чтобы отдельно программу не писать. Да, можно через эмулятор, но картинка-то у меня лучше получается (ну хоть чуть-чуть) :)

PheeL
14.03.2005, 17:38
фактически в TV Emulation (unreal) и используются идеи, предложенные Conan'ом. то есть сигнал разбрасывается на YUV, вводятся разные задержки на UV, как на несколько точек, так и на строку. качество плохое, потому что коэффициенты выбраны произвольно и разрешение не удваивается (а сейчас я заметил, что ScreenPheeLter утраивает разрешение. кстати, непонятка - если 3-я строка scanline с нулевой яркостью, почему она не пропадает в изображении, или это артефакты JPG?). в TV Emulation происходит интерполяция средствами видеокарты, результат совсем не тот...
Мне очень нравится фильтр TV Emulation , но уж черезмерно блюрит (и невозможно настроить этот параметр!), и к нему не прилагаются scanlines к сожалению. А так - зашибись и наш выбор.
А у меня, да, идёт утроение (768х576) изображения (т.е. вместе со small border как раз 1024х768 выходит). Нужно утроение для того чтобы как можно чётче передать, как раз, момент с люминофором (там же и так блюр идет межпиксельный по каналам, потому как чётко точки люминофора телевизора даже при таком разрешении не передать - след. надо их интерполировать. А как? Ответ - блюром. А в эмуляторе можно таблицами на смешивание (точек люминофора меж собой), прям шаблонами выбрасывать на экран строя из них изображение. А таблицы генерить перед запуском).
Насчёт 3-й строки - извиняюсь, тут я слевил. У меня идёт наложение с 30% прозрачностью, т.е. надо читать так - белая линия ничего не вычитает, средняя серая 15%, нижняя чёрная 35%. Средняя линия присутствует только из-за того, что увеличение идёт некратное 2-ке.



насчёт скорости можно сказать, что перечисленные фильтры (кроме гауссовского шума, не знаю, как его быстро сделать) - двумерные КИХ-фильтры, их все можно представить как один фильтр, матрица которого скомбинирована из исходных (также, как при рисовании 3d графики отдельно не делают повороты, переносы и преобразование к координатам камеры для каджой точки, а считают результирующую матрицу)
"Я не знаю кто такая хунта, я не знаю кто такая Чили, но если вы..." (с) старый советский анекдот. Так вот, гауссоновский шум я использовал только из-за того что это _стандартный_ фильтр (мне ж надо было думать о том чтобы action был совместим с предыдущими версиями фотошопа и я использовал одинаковые наборы фильтров). Никто не заставляет именно этот метод эмулировать. Вон в BlueMSX используется Noisy Composite фильтр и все довольны. Главное чтобы он был динамическим и регулируемым, а чем ты генеришь сам шум - никого не трогает. Хочешь заранее заданными паттернами врисовывай его, хочешь на ходу попиксельно генери.

E.Sokol
16.03.2005, 11:41
Мне кажется, есть и другой подход - сделать железный фильтр между компом и монитором (правда, здесь нужен крутой электронщик:)

E.Sokol
18.03.2005, 12:45
Вот, посмотрите картинки. В них применяются несколько другие подходы (идеи для 3weeks подсказал Conan):

http://fuchur.narod.ru/zx/TapperLQF.png
http://fuchur.narod.ru/zx/3weeksTVF.png
http://fuchur.narod.ru/zx/StormlordLNF.png

Если заинтересует, напишу подробнее, что к чему.

Conan
21.03.2005, 01:42
Вот, посмотрите картинки. В них применяются несколько другие подходы (идеи для 3weeks подсказал Conan):

http://fuchur.narod.ru/zx/TapperLQF.png
http://fuchur.narod.ru/zx/3weeksTVF.png
http://fuchur.narod.ru/zx/StormlordLNF.png

Если заинтересует, напишу подробнее, что к чему.Картинки хорошие, но искажений на них почти не заметно :confused: , в чем их особенность?

newart
21.03.2005, 02:24
Вот, посмотрите картинки. В них применяются несколько другие подходы (идеи для 3weeks подсказал Conan):

http://fuchur.narod.ru/zx/TapperLQF.png
http://fuchur.narod.ru/zx/3weeksTVF.png
http://fuchur.narod.ru/zx/StormlordLNF.png

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

Vladimir Kladov
21.03.2005, 04:51
т.е. вы пытаетесь получить искажение, чтобы выглядело как на цветном телевизоре со всеми его недостатками. Хм. а у меня был мониторчик 14'', от настоящего компа, от 12V постоянного напряжения работал. Искажений 0, правда 16 оттенков зеленого...

PheeL
21.03.2005, 11:54
т.е. вы пытаетесь получить искажение, чтобы выглядело как на цветном телевизоре со всеми его недостатками. Хм. а у меня был мониторчик 14'', от настоящего компа, от 12V постоянного напряжения работал. Искажений 0, правда 16 оттенков зеленого...
Да, мы теоретически пытаемся добиться таких же искажений, что и на реальной машине, а то получается глупость - художники использовали аппаратные погрешности когда делали графику (имеется ввиду оригинальная машина с антенным выходом и старые игрушки), а они не эмулируются! Т.е. в точности эмуляции на этапе графики мы теряем. Это тоже самое что четко выводить картинку со стандартного разрешения C=64 : "колбаски" в 2 пикселя длинной - это смешно. А ведь на телеке-то смотрелось ого-го! Из-за чего? Да из-за погрешностей которые не эмулируются в должной мере.

E.Sokol
21.03.2005, 13:43
Прежде всего, конечной целью ставилось не полная эмуляция искажений телевизора, а улучшение восприятия изображения при минимальных вычислительных затратах (на самом минимальном разрешении - 320x240). Обычный blur, по-моему, выглядит ужасно, поэтому я стал искать другие варианты. Фильтр для Stormlord, например, есть нелинейный motion blur, в котором направление смазывания выбирается по определённым критериям. Что касается количества искажений, то это дело вкуса, потому как на моём телевизоре, например, их было не очень много. К тому же это не конечные варианты, а результат свободного творчества в Photoshop.
Кстати, во-втором фильтре (3weeksTVF) блюра нет, там используется низкочастотный фильтр 1-го порядка, сначала по вертикали, потом по горизонтали (в режиме YUV). И не стоит забывать, что фильтр должен работать в Realtime, 50 раз в секунду :)