Важная информация

User Tag List

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 31

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

  1. #11
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question

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

    можешь прогнать вот эту искусственную картнику через фильтр? лучше брать SCR, а не PNG, чтобы использовать твою палитру. результат просьба не jpeg-ить, в выложить в PNG
    Вложения Вложения
    Последний раз редактировалось SMT; 13.03.2005 в 09:02.

  2. #12
    Activist Аватар для random
    Регистрация
    21.01.2005
    Адрес
    ссср
    Сообщений
    468
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от kgbplus
    а зачем minidv?
    много причин. во-первых удобно в плане портативности и самого процесса, во-вторых очень хорошее качество, ну а также бакап и все такое.

  3. #13
    Activist Аватар для PheeL
    Регистрация
    19.01.2005
    Адрес
    Москва
    Сообщений
    333
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от random
    много причин. во-первых удобно в плане портативности и самого процесса, во-вторых очень хорошее качество, ну а также бакап и все такое.
    Я, простите, про что тут выше распинался? В первой своей мессаге. Если под хорошим качеством имеется ввиду именно качество изображения.
    Sinclair ZX Spectrum 128k (Toastrack) + ZX Spectrum +3 + DivMMC EnJOY
    Commodore 64c + 1541 Ultimate II
    Commodore Amiga 1200 + 8Mb Fast + CF 8Gb + GOTEK

  4. #14
    Activist Аватар для PheeL
    Регистрация
    19.01.2005
    Адрес
    Москва
    Сообщений
    333
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

    но фильтр очень интересный и можно будет проверить по качеству с такой связкой. но это будет работать только на статичных картинках.
    Ну что ж, если на связке спектрум > pal coder > будет наиболее сильное ухудшение изображения (фактически эта связка и будет хардварным фильтром), то тоже очень ничего вариант. Потому как вся остальная цепочка слишком качественна, даже пожатие кодеком в avi-шнике. Мой же вариант подходит действительно только для статических картинок, и единственный его плюс в данном случае в том, что вся подготовка и сборка в видеопоток происходит только на ПыЦы как и с другими работами, что называется "не отходя от кассы". Но выбор за вами. Скорее всего вариант с pal coder'ом будет предпочтительнее. Хотя хотелось бы посмотреть на скриншот результата ближе к пати
    Последний раз редактировалось PheeL; 13.03.2005 в 13:31.
    Sinclair ZX Spectrum 128k (Toastrack) + ZX Spectrum +3 + DivMMC EnJOY
    Commodore 64c + 1541 Ultimate II
    Commodore Amiga 1200 + 8Mb Fast + CF 8Gb + GOTEK

  5. #15
    Activist Аватар для PheeL
    Регистрация
    19.01.2005
    Адрес
    Москва
    Сообщений
    333
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    а какой список фильтров используется (ну нет у меня фотошопа, чтобы посмотреть)
    можешь прогнать вот эту искусственную картнику через фильтр? лучше брать SCR, а не PNG, чтобы использовать твою палитру. результат просьба не jpeg-ить, в выложить в PNG
    А чем тебя не устраивает твой же TV Emulation? (ну раза в 2 блюр убавить только ) По-моему очень даже похоже. Вот.
    Тут я распинаться про свои мысли насчет фильтра не хочу, потому как много и скучно выйдет и не по-теме. Я тебе сейчас в мыло (если найду. На форуме отключено, а в хелпе к Unreal'у просто нету) напишу и картинку получившуюся как раз заброшу.
    Последний раз редактировалось PheeL; 13.03.2005 в 13:54.
    Sinclair ZX Spectrum 128k (Toastrack) + ZX Spectrum +3 + DivMMC EnJOY
    Commodore 64c + 1541 Ultimate II
    Commodore Amiga 1200 + 8Mb Fast + CF 8Gb + GOTEK

  6. #16
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PheeL
    Я, простите, про что тут выше распинался? В первой своей мессаге. Если под хорошим качеством имеется ввиду именно качество изображения.
    О качестве изображения я бы не говорил: «хорошее» - «плохое». Наверно правильнее сказать: «точно повторяющее оригинальное». Если конечно я правильно понял конечный смысл идеи 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) перенесу в раздел «Эмуляторы».
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	coderpal.gif 
Просмотров:	314 
Размер:	8.2 Кб 
ID:	316  

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Activist Аватар для PheeL
    Регистрация
    19.01.2005
    Адрес
    Москва
    Сообщений
    333
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от Conan
    Приложил так же фотографию с телевизора (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'ов достаточной свободы действий (их надо суметь составить так чтобы везде потом работало), считаю получившийся у меня результат _приемлемым_ , но не более! Всяко лучше чем потом на ЦЦ кусать локти смотря на громадные квадраты. Всё графикс компо сольют же...
    Последний раз редактировалось PheeL; 13.03.2005 в 17:38.
    Sinclair ZX Spectrum 128k (Toastrack) + ZX Spectrum +3 + DivMMC EnJOY
    Commodore 64c + 1541 Ultimate II
    Commodore Amiga 1200 + 8Mb Fast + CF 8Gb + GOTEK

  9. #18
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  10. #19
    Veteran Аватар для SMT
    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  11. #20
    Guru Аватар для diver
    Регистрация
    26.01.2005
    Адрес
    Пермь
    Сообщений
    2,524
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 190
    Последнее: 10.05.2018, 18:52
  2. ZX Spectrum в кармане
    от CityAceE в разделе Эмуляторы
    Ответов: 79
    Последнее: 15.12.2007, 20:14
  3. ZX FAQ в эхе ZX.SPECTRUM, неточность.
    от RomanRom2 в разделе Пресса
    Ответов: 10
    Последнее: 25.08.2005, 16:40
  4. Софт и доки для сайта Spectrum 128k
    от DJ I-Kick в разделе Программирование
    Ответов: 0
    Последнее: 17.01.2005, 11:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •