Автор Тема: Мысли о Y/C сигналах с однокристального клона сега мегадрайв  (Прочитано 494 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
Есть у меня аж 4 строчки изображения, декодированного на компе с помощью аудасити (найквист команды), ровно на столько строчек хватило памяти цифрового осциллографа на работе, которым я снял эти 4 строчки, подкинув щупы к 1килоом нагрузкам на выходе чипа tct6035

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

Учитывая еще факт, что в режиме 256 в Y канале корежит строку (пиксели в ширину разные там), предположу, что PAL кодер и матрицирование цвета, а далее мультиплексирование сигнала - сделаны в дискретном домене. То есть на Chroma ноге чипа идет 17734475/14318182 дискретных отсчетов в секунду. Только фронты подзавалены. Последовательность из 4 значений +Cb, +Cr, -Cb, -Cr, которые нужно таким же коммутатором разделить, отрицательные умножить на -1, то есть получить в одном канале +Cb, 0, +Cb, 0, а во втором +Cr, 0, +Cr, 0. Далее нужно каждый канал сложить со своей задержанной на 1/4 цикла копией, чтобы получить прямоугольничек уже с полной шириной, без нулевых пауз, ну а дальше на три тюльпанчика подаем в телевизор или карту захвата и радуемся.

Хочу еще сказать, что +Cb/+Cr и -Cb/-Cr - это не одно и то же, а уникальные "пиксели", то есть цветоразность проинвертирована пиксель через пиксель, таким образом, мы имеем 570 точек цветности во всей строке, включая гашение (285 периодов поднесущей умножить на 2), а в видимой части... ну на 0,75 умножить, выходит 427,5, то есть дофига. И вот этот кусок картинки как бы намекает...

Также могу добавить, что я пробовал сам генерировать PAL/NTSC сигнал на компе, я подобрал для пользовательского режима пиксельную частоту, конкретно "26.6 МГц", и 1/6 от этой частоты попадает в диапазон захвата поднесущей 4,43 телевизором, таким образом, я смог на втором "мониторе" открыть сгенерированную картинку, чтобы на выходе VGA цапа получить композитное видео. Правда, по размаху оно на 75 Ом получается 0,7 Вольта. 0,27 (потому что удобно, уровень черного 99 единиц) я отдал под синхроимпульсы, а на яркость+цветность оставшие 0,44 В. Просто потом на телевизоре контрастность выкрутил, и всё пучком.

Во вложениях есть тайминги видеорежима, чтобы это попробовать, и сами сгенерированные изображения, 262 строки это на 1 поле (инверсия красного цветоразностного дает стоящий на месте шахматный паттерн), 522 строки это на 2 поля по 261 строке_нечетное значение (инверсия цветоразностного красного дает шахматный паттерн, который меняется каждое поле на противоположный, как в сеге в пал50, где 313 строк). Требуется видимокарта, можно с чисто цифровым выходом, я через HDMI-VGA конвертер это выводил на GTX1660 Super в старый сони тринитрон 14 дюймов.

Ну, собственно, суть в чем. Оказалось, что в нтсц формате введение вот этой самой YIQ модели "повернутой по фазе" обусловлено тем, что у сигналов IQ в труъ нтсц кодерах полоса ограничивается разным значением, короче, чтобы мылить цветность таким способом, каким это будет хуже видно глазу среднего американца, но на сколько градусов они повернули координаты этой самой цветовой модели, на столько же градусов они повернули обратно фазы несущих, то есть фактически, если мы не делаем супер пупер аутентичный нтсц кодер, а делаем как в сеге, по-простому, то отличие нтсц от пал тупо в том, что Cr компонента в каждой второй строчке инвертируется, а вспышку в начале строки можно выразить, как некое опорное сочетание значений Cb и Cr (то есть вектор с определенным углом и амплитудой).

*вообще, разная полоса I и Q сигналов, скорее всего, сделана для того, чтобы срезать часть боковой полосы модулированного сигнала, ту часть, где есть только один из сигналов, и где его не надо отделять, но представляю, какое там шпилли-вилли с фчх и ачх фильтров...


То есть с выхода кодера на чипе сеги выходит YUV мультиплексированный что в режиме пал, что в режиме нтсц, и нам не нужно переключать чип сеги на вывод пал и городить логику определения четной/нечетной строки. У нас есть 17,734 мег тактовые импульсы, которые мы подаем на счетчик двоичный двухразрядный (два т-триггера, чет типа ТМ2, но побыстрее, буржуйское чето), а чтоб счет всегда начинался с правильного момента, мы сбрасываем счетчики строчным синхроимпульсом. Далее нужно:
1)поработать над сигналом цветности, нужно в нем компенсировать частотную хар-ку, чтобы убрать взаимовлияние соседних импульсов друг на друга (вот это RCцепочко-подобное поведение убрать)
2)подстроить тонко фазу 17,734 мег на входе счетчика, чтобы коммутатор переключался аккурат в моменты переключения коммутатора в кодере
1)и2) можно уже на тестовых демках с цветными полосами отстроить, на предмет правильного тона изображения и границ между цветными полосами
3)где-то родить линии задержки на 1/17734475, чтоб цветность с прореженной скважностью можно было сложить саму с собой со сдвигом и убрать прореженность, звучит смешно, но 10-12 метров тонкого коаксиального кабеля смотать можно в бухту и использовать в качестве линии задержки, отрезать/откалиброваться ч0тко... но вообще можно этим голову не мучить, а сделать ФНЧ как на цвет, так на яркость, чтобы сгладить углы квадратиков, потому что если это несглаженное непотребство подавать на телевизор с 427 элементами на строку, неограниченная полоса даст наложение спектров, и, в целом, если вы можете на катод кинескопа тв подать острые прямоугольнички, усилить их с ЦАПа без какого-либо сглаживания, вы увидите, насколько это ужасно на самом деле, и поймете, почему вообще где-то в более новых ТВ шаг точки уменьшили (для RGB подключения), а в старых с около 450 элементов на строку (а 14-дюймовые - и того меньше) часто никакого RGB нет, и его можно только приколхозить

свидео1 и свидео2 - это скриншоты с dscaler, которые демонстрируют косяк яркостного канала tct6035, sm801 и так далее (для разрешения 256 пикселей), и, возможно, по композиту эта нечисть таки тоже будет видна, я еще погляжу сам... наложение спектров собственной персоной, а наложение - оно в НЧ область уходит, то есть если пиксель стал на 3/4 шире, чем его сосед, это значит, что его вес на 3/4 больше, и что точка будет контрастнее даже после фильтра яркости

характерно еще то, что косяк этот не устраняется заменой кварца с 17,** на 14,**, и в режиме 320 пикселей он отсутствует при любом кварце, также проверено, что это ведет себя так не карта захвата, а сама сега

И вопрос еще - а в новых клонах, более-менее представляющих внутри чипа аппаратную сегу, тоже такая хрень, или нет? У кого там есть сега на TCT6801/6803/QS816...
« Последнее редактирование: 20 Май 2024, 22:28:37 от as32888 »

Оффлайн Фамиклон

  • Пользователь
  • Сообщений: 738
    • Просмотр профиля
А можно поинтересоваться, в чём видится смысл данного трактата о явлении сигналов… ради чего, какое изначальное ТЗ, и что будет конечной целью? Ну допустим, выяснятся некоторые подробности, а что дальше...
И вопрос еще - а в новых клонах, более-менее представляющих внутри чипа аппаратную сегу, тоже такая хрень, или нет?
Что именно, косой глаз у клоуна? Да, такая же хрень.

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
Фамиклон, у самурая есть только путь, нету цели (ц).

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

Что именно, косой глаз у клоуна? Да, такая же хрень.
да щас достал ту сегу на tct6803, по композиту такое же палево, в 1 сторону глаз больше, в другую меньше

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
Подцепил на выход Chroma сопротивление 75 Ом на землю, получились заостренные фронты сигнала, практически идеальный цапо-прямоугольничек, и весь сигнал. в принципе, так выглядит.

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

Далее еще один факт. Известно, что вспышка 135 градусов, Pr 90 градусов, Pb 0 градусов. При кодировании периода синусоиды четырьмя точками мы 0 градусов имеем последовательность с периодом 0 +1  0 -1, а 90 градусов это наоборот +1  0 -1 0. Если у нас сдвиг не кратный 90, а кратный 45, соответственно, сигнал бы имел вид такой: 0.7  0.7 -0.7 -0.7. А здесь наоборот - вспышка получается 0 или 90 градусов, а сам сигнал еще сдвинут на 45, таким образом, если мы будем разделять эти импульсы коммутатором, то получим цветность с оттенком, смещенным на 45 градусов в какую-то там сторону.

Мне вспомнилась такая хрень, как представление стерео звуковой дорожки в виде векторной диаграммы, и там как раз под 0/90 идет левый/правый, а на 45 сдвинуты сумма и разность каналов, вот здесь по сути то же самое, и когда мы вычисляем сумму/разность и наоборот, там тоже по сути можем ошибиться только с общей амплитудой сигнала, и нам просто нужно там выбрать правильные коэффициенты. В общем, насыщенность конкретно здесь надо будет подкрутить, но ее и так надо будет подкрутить, потому что уже в нескольких местах будет задаваться уровень сигнала цветности.

В общем и целом, имеем последовательность +цветность1 +цветность2 -цветность1 -цветность2, делаем с ней это (см. рис.2), потом Y и две цветоразности подаем на какую-нибудь LMH1251 или в телевизор с компонентным входом. Всё. :neznayu:

Добавлено позже:
вопрос щас только в том, как это всё красиво скоммутировать/усилить, это требует времени на подумать...

***

добавлено еще позже, подзней ночью

странные вещи мне выдал симулятор в графиках, и я понял, что как-то не очень понял... хммм, а тот первый импульс во вспышке, почему он не сразу полной амплитуды...
« Последнее редактирование: 28 Май 2024, 02:00:57 от as32888 »

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
Я пересмотрел блок-схему, не учел, что в данном разложении на такты 1-2-3-4  нужно компенсировать задержку 2 и 4 относительно 1 и 3. Когда мы выделяем импульс номер 2, мы продлеваем его вправо, он, в принципе, правильной длительности, НО он задержан на один такт, и когда мы вычисляем сумму и разность, на выходе сумма и разность уже имеют вид каракатицы, потому что сигналы не синхронизированы, вычитаются со сдвигом на 1 друг от друга.

Нужно такты 1 и 3 задержать на один такт, тем самым обе промежуточные цветоразности станут синхронными, а далее мы сможем вычислить сумму и разность и получить Cr/Cb сигналы.

Также нужно разобраться с синхронизацией сигнала яркости со спасенными таким способом сигналами цветности, потому что:
а)у нас цветности на 1 такт отстают, одну мы выделили так, а другую задержали на 1 такт, чтобы выровнять с первой. Если пункт б) не действителен, нужно яркость задержать на 1 такт генератора, и тогда яркость и цвет выровняются.
б)в канале яркости, наоборот, может быть внутри чипа цифровая линия задержки, чтобы компенсировать разность задержки штатного смесителя Y/C, но, конечно, не факт. Думаю, в системе вида сега-"декодер"-гбсконтрол-ЖК монитор можно под лупой рассмотреть квадратики и понять, синхронна ли цветность и яркость.

Также опытным путем было установлено, что на той плате с TCT6035 очень шумное питание аналоговых цепей видео, то есть там всякого рода полосы и шумы пролезают. На яркостном через скалер очень хорошо видно, также что касается цветности на 75 Ом, я пробовал ее переснять без делителя, просто кусок коаксиала в бнц и в осцилл, обматывал кабель вокруг ферритового колечка, чтобы синфазную помеху убрать, короче импульсы шумные. Это или сама плата, или чип, но с этим, в целом, можно поэкспериментировать как-нибудь, нащупать нужные ноги и уже им пробовать чистое питание всадить.

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
в теме не было сообщений более 120 дней, а потом появился осциллограф, которым можно записать полный кадр с Y/C выходов на 1 гигасемпле в секунду

было проделано то же самое в аудасити, но с полным кадром, 1 это типа видно синхроимпульсы, а 2 это с нормальным уровнем черного

в общем оказалось, что 45-градусного сдвига фазы нет, то есть нужно просто правильное смещение тактов - короче, счетчик сбрасывать, ориентируясь на вспышку поднесущей частоты

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

если подключать сегу по свидео к штатным свидео входам, то Y канал лучше мылить штатной схемой смесителя, а C канал пускать в обход на C контакт свидео входа, так будет соблюден некий баланс четкости

свидео изначальное - не сбалансировано по четкости, яркость пиксельная, а цветность по четкости как на композите

Добавлено позже:
я сейчас совместил эту картинку и картинку из кега фьюжон, когда он растягивает 256 до 640, выглядит 1в1 за исключением мелких нюансов, то есть там походу внутри дискретная обработка

как будто Y часть тактируетс от какого-нибудь EDCLK, и там оно по таблице истинности преобразует ргбшные биты в значения для цапов Y и C
« Последнее редактирование: 17 Ноябрь 2024, 01:31:36 от as32888 »