Pull to refresh

Comments 18

Как-то некрасиво синхронизация получается, надо бы петли какие-нибудь использовать. Как вы вообще на пиксели разбили я не очень понял…
Слишком завязано на частоту семплирования, хорошо бы ей же просемплировать 50 Гц из сети)).

p.s. Почему не все цвета, а только зелёный использовали?
UFO just landed and posted this here
С чем связаны построчные сдвиги? Может быть задержка обратного хода луча не учтена (строка/кадр)?
Размах сигнала не превышает +200, что позволяет нам записать эти значения напрямую как цвета RGB.

Secam использует цветоразностные сигналы R-Y и B-Y. Есть формула его вычисления?
Y=0.3R+0.6G+0.1B
Но это, видимо, округлённые значения.
В книге «Телевидение» (Джакония В.Е. и др., 2007) указано:

по сравнению с NTSC, в которой:
Два канала цвета передавались поочередно в частотной модуляции на частотах 4.25 и 4.406МГц.

Правильнее будет «на частотах F0+4.25 и F0+4.406 Мгц»
Окончательный результат на анимации из 10 кадров (больше не принимает файловый архив хабра)

Хабр до сих пор не поддерживает WebM?
199х года: Айтишники наконец-то додумались до использования видеомагнитофона, чтобы смотреть видео(Заставив АрВид читать с ленты MPEG-1 файлы в реальном времени)
201х года: Айтишники наконец-то додумались до использования ТВ тюнера, чтобы смотреть телепередачи
Интересная задача при декодировании аналогового TV IMHO это декодирование цвета. А именно разделение яркостного сигнала и сигнала цветовой поднесущей. Желательно без потери четкости. Я как то писал симуляцию NTSC подобного кодирования, получилось так:
Показать рыбок
Исходная картинка (здесь и далее картинки кликабельны):


Она же в черно-белом виде с поднесущей (примерно так принимал черно-белый телевизор). Если смотреть без ресайза то хорошо видна поднесущая на окрашенных деталях.


Она же после декодирования. Тут можно увидеть артефакты от примененного мной подхода к фильтрации.


Если кто захочет поэкспериментировать — код тут:
github.com/dcherednik/analogcolor
В аналоговом телевидении один полный кадр состоит из 625 строк, разбитых на два поля по 312,5 строк. Это обеспечивает чересстрочность. Каждое поле часть строк отводит на кадровую синхрогруппу, раньше это называлось кадровый синхроимпульс со строчными синхроврезками (на мой взгляд, это было более понятно). Для нормальной синхронизации следует через одно поле начинать вывод строки с середины экрана.
Синхронизация по переходу через ноль — нормально при достаточно чистом сигнале.
А в качестве лирического отступления могу сказать, что применение SECAM в СССР было вызвано не только политическими, но и техническими причинами. При большой протяженности линий передачи и не особо высоком их качестве, в телевизионном сигнале за счет дисперсии происходило искажение цвета. В SECAM дисперсия приводила к незначительному сдвигу цветного сигнала по отношению к яркостному, практически незаметному невооруженным глазом.
UPD. Для исключения дрожи изображения частота дискретизации должна быть кратна частоте строк, т.е. быть равной N*15625 Гц
частота сети 50Гц никак не может использоваться в качестве «тактового генератора». частота кадровой развёртки действительно равна 50гц и она выделяется из кадровых синхроимпульсов. величина её равна частоте питающей сети для уменьшения помех — биений от плохой фильтрации питания и упрощения требований к питанию в целом.

Мы подробно в колледже разбирали структуру телевизионного сигнала. Найти книгу где всё подробно расписано, думаю, проблем не составит (подойдут даже советские книги). Дальше расшифровать дело техники. Сложнее всего выделить поднесущие цветовых составляющих. Тут без математического аппарата делать нечего.
Кстати, в аналоговом сигнале ещё и телетекст присутствовал во время гасящего кадрового синхроимпульса. Но он обычно был только на федеральных каналах, да ещё и пропал после перехода ретрансляторов на цифровое спутниковое оборудование.

Если нужен образец сигнала, возьмите любой видеомагнитофон или DVD-плеер с модулятором.

Какой параметр taps у блока Frequency Xlating FIR Filter ?

Sign up to leave a comment.

Articles