Autor Wątek: Spectrum i wyświetlanie obrazu na telewizorze - czy da się zrobić prawdziwy interlace?  (Przeczytany 36379 razy)

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
I TV analogowy powinien też tak go wyświetlać (znaczy jako 50 obrazów/s z niewielkim odstępem między wierszami)

Z tym się nie zgadzam. Telewizor analogowy nie potrafi wyświetlać 50 obrazów/s. Potrafi wyświetlać wyłącznie 50 półobrazów/s. Czyli wyświetla tak samo z dokładnością do migania.
Mam telewizorek LCD który wyświetla z przeplotem (tak! z miganiem!), nie robi deinterlace, wyświetla jak analogowy. Efekt jest taki sam tylko miga.

BTW: w końcu rozumiem, dlaczego lubiłem w programach pogrubione fonty (przez przesunięcie w prawo i nałożenie). Bo poziome kreski już z definicji zajmowały dwie linie!

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Z tym się nie zgadzam. Telewizor analogowy nie potrafi wyświetlać 50 obrazów/s. Potrafi wyświetlać wyłącznie 50 półobrazów/s.
Eeee... A półobraz nie jest obrazem?
W przypadku sygnału TV wyświetla 50 półobrazów, z przesunięciem co drugiego o wiersz (tworząc złudzenie wyświetlenia 25 razy na sekundę obrazu o rozdzielczości x*576 )
Ponieważ ZX nie wystawia synchronizacji powodującej to przesunięcie, wyświetlane jest 50 (pół)obrazów x*288 bez przesunięcia. Przynajmniej w teorii, bo jak widać nowy sprzet ma co do tego własne poglądy :)
Machines should work. People should think.

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Ponieważ ZX nie wystawia synchronizacji powodującej to przesunięcie,...

Nie musi. Nie ma innej opcji działania telewizora. Nie potrafi fizycznie tego zrobić. Nie umie. Nie zna takich sygnałów. Nie do tego został skonstruowany.

Argument 2: Nie może wyświetlać dwóch ramek ze Spectrum jedna na drugiej, bo przecież mogą być różne. Wyszło by jakieś uśrednienie, a przecież nic takiego nie miało miejsca.

Argument 3: Gdyby wyświetlał jedna na drugiej statyczne obrazy to pojedyncze linie poziome by migały (jak logo TVP na starych telewizorach). Nie migały.

Argument 4: Stary telewizor nie może przecież "podjąć decyzji" jak ma wyświetlać. Nie ma tam żadnej logiki. Zawsze wyświetla w jeden sposób.

Wniosek: wyświetla z przesunięciem pomimo że nie dostaje prawidłowej synchronizacji. To że nie ma znacznika parzyste/nieparzyste powoduje tylko że losowa ramka jest wyświetlana jako parzysta. No to co? Nie ma to znaczenia. Dopóki oczywiście ktoś nie chce podwoić rozdzielczości w ZX128. Ale o tym projektanci Spectrum nie pomyśleli, więc uprościli konstrukcję.


Może dlatego czyta się czasem, że nowe telewizory nie chcą wyświetlać obrazu ze Spectrum, bo synchronizacja jest niezgodna ze standardem?

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Nie, nie jedna na drugiej, tylko jedna po drugiej.
Nie. Nie ma logiki. Przynajmniej nie w velach, rubinach, elektronach, graetzach i innych starszych analogach.
Nie, nie podejmuje decyzji. Narzucają mu ją sygnały synchronizacji - synchro drugiego pola jest przesunięte w czasie o pół linii, co powoduje przesunięcie w pionie o jeden wiersz. Stara dobra analogowa robota.
Nie, TV nie może nic uśredniać bo nie ma gdzie - nie ma pamięci, a kineskop nie jest lampą o długiej poświacie (w każdym razie nie o aż tak długiej :))
Machines should work. People should think.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Hm, skąd tu więc te odstępy między liniami obrazu… (fotka ze strony http://www.retrofanatic.pl/2014/08/07/sony-pvm-in-da-house-retrogracz-walczy-o-jakosc-obrazu/ )
Machines should work. People should think.

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Cudujecie - obraz progressive PAL jest znany od dawna, uzywaja go konsole, C64 i ZX Spectrum.
Interlace to ma Amiga albo stare karty VGA. Tak samo jeden dlugi impuls - tez znana sprawa.
ZX128 generuje troche inaczej obraz niz 48k, ale dalej jest to progressive PAL.
TV robia rozne cuda, niektore moga nie zaskoczyc w ogole, inne beda zakladac, ze obraz jest interlaced itp.
Generacja obrazu progressive jest znacznie prostsza niz interlaced i bardzie oplacalna jak w pionie ograniczy sie rozdzielczosc. Ten tryb 256x384 to jakas lipa, ale musze sie przekonac na wlasne oczy :-)

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Nie, nie jedna na drugiej, tylko jedna po drugiej.
...
Nie, TV nie może nic uśredniać bo nie ma gdzie - nie ma pamięci, a kineskop nie jest lampą o długiej poświacie (w każdym razie nie o aż tak długiej :))

Jedna po drugiej w tym samym miejscu, o tym mówię. Przecież poświata jest na tyle długa że można oglądać telewizję z przeplotem. Miga, ale coś z poprzedniego obrazu jeszcze zostaje. Gdyby nie, nie dało by się oglądać.

Nie, nie podejmuje decyzji. Narzucają mu ją sygnały synchronizacji - synchro drugiego pola jest przesunięte w czasie o pół linii, co powoduje przesunięcie w pionie o jeden wiersz. Stara dobra analogowa robota.

Dzięki. Nowa wiedza zawsze cenna.

Hm, skąd tu więc te odstępy między liniami obrazu…

Są dwa możliwe wytłumaczenia.
1. To jest obraz złapany w momencie czyszczenia ekranu. Jeden półobraz zawiera obrazek, a następny - pusty ekran.
2. To jest zdjęcie z ekranu profesjonalnego monitora RGB. Możliwe że profesjonalne monitory działają profesjonalnie, czyli właśnie tak jak specyfikacja standardu przewiduje, czyli właśnie tak jak piszesz. A masówka działa tak, żeby wszyscy byli zadowoleni, albo tak jak wyjdzie ;)

A co z moim argumentem 3? Na 100% pojedyncza pozioma linia nie migała. Gdyby migała, pisałbym programy z okienkami z podwójnych linii.

Nie będę się dalej spierał, bo jednak nie mam jak udowodnić - nie mam skąd wziąć starego telewizora (mam, ale daleko, może kiedyś...).
Załączam zdjęcie z mojego telewizorka, który wyświetla interlaced. Nie ma odstępów, ale rozumiem, że nie jest bardzo przekonujący, bo to LCD ;)
« Ostatnia zmiana: 2014.11.28, 12:12:55 wysłana przez Phonex »

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
A, i jeszcze dla porządku:

A że nowoczesne głupiomądre telewizory i nagrywarki nie są przyzwyczajone do takich oldskoolowych sztuczek, odruchowo traktują je jako dwa kolejne pola pojedynczej ramki obrazu z przeplotem (bo muszą zrobić deinterlace przed zapisem na dysk/wyświetleniem na ekranie) przez co można zrobić sztuczkę z powieleniem rozdzielczości (modulo losowa kolejność wierszy)

Moja nagrywarka nie robi deinterlace. Zapisuje normalnie z przeplotem. Na telewizorze z przeplotem można to zaoberwować.

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Faktycznie z przeplotem przy zapisie głupio się wyrwałem... :)
Ja po rozruszaniu neuronów zacząłem wpychać w dyżurnego CPLD znane mi 'systemy' synchronizacji - jak na razie Spectrum wg wsadu z opencores (modulo przeliczanie kolumn, bo nie mam pod ręką zegara 14MHz) i ay-3-8500 wg datasheeta (to będzie spektakularna porażka bo delikatnie mówiąc jest on niekompletny). W planach - progressive i interlaced, zgodne ze standardem.
A potem wetknę to i w bańkę, i w LCD, i popatrzę co widać :)
Machines should work. People should think.

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Pożyczyłem monitor Neptun 156. Nie ma interlace. Tłumaczy mnie trochę fakt, że miałem TV do którego dorobiłem wejście monitorowe i 1) stał daleko (około metra), 2) był ustawiony mały kontrast/jasność, bo z wysokimi ustawieniami obraz zmieniał wielkość jak migał border...

Zdjęcia: 1-bezpośrednio monitor LCD, 2-monitor CRT (zielony), 3-nagrany obraz na monitor LCD, 4-nagrany obraz na monitor CRT.
Na zdjęciu 4 tego dobrze nie widać, ale jest to klasyczny interlace: pozioma linia raz jest w miejscu parzystym, raz w nieparzystym.
Wniosek: zarówno monitor LCD jak i nagrywarka DVD traktują sygnał ze Spectrum jako interlace. Stary monitor CRT wyświetla jak ustawa przewiduje - progressive.

A mój telewizorek 7", który umie wyświetlać interlace?
Wygląda jakby to był interlace, ale to chyba dlatego, że ma w pionie tylko 480 linii. W związku z tym przelicza sobie jasność do wyświetlenia. Nawet jak się trafi ewidentny interlace (stop-klatka z nagrywarki) to przez lupę widać że nie ma grzebienia tylko jest po prostu mniejsza jasność.

A co z moim argumentem 3? Na 100% pojedyncza pozioma linia nie migała. Gdyby migała, pisałbym programy z okienkami z podwójnych linii.

Tu ja się wygłupiłem. Pojedyncza pozioma linia nie migała bo kolejne obrazy zawierały ją w tym samym miejscu. Właśnie jakby był interlace to by migało!