Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak wyglądają sygnały TV?

rmajda 11 Wrz 2008 22:21 1656 8
  • #1 11 Wrz 2008 22:21
    rmajda
    Poziom 20  

    Witam,
    Chciałbym użyć mikrokontrolera do badania jakie kolory pikseli RGB lecą w danej linii w obrazie telewizyjnym. Problemem jest to że nie wiem jak wygląda sygnał TV bo od tego zależy czy i jaki uC poradzi sobie z obróbką.
    Czy macie szanowni koledzy jakąś podpowiedź od czego zacząć i gdzie szukać. W googlach nie mogę nic znaleźć ale pewnie używam złych haseł do wyszukiwania.

    Pozdrawiam,

    0 8
  • #2 11 Wrz 2008 23:40
    jacynka84
    Poziom 26  

    Wg. mnie to niezwykle trudne zadanie.
    Nie sądzę aby udało się zrobić coś takiego na jakimkolwiek uC, nawet nie słyszałem o takim urządzeniu. Co najwyżej Dobry oscyloskop i zrozumienie widocznego sygnału.
    Ale przyłączam się rękoma i nogami do pytania jak "wygląda"
    sygnał TV np. PAL, czasówka , przekrój takiego sygnału , czy jak to się tam nazywa.

    0
  • #3 11 Wrz 2008 23:51
    Bogdan58
    Poziom 32  

    Chyba powinieneś wybrać dział [Układy elektroniczne DIY pomysły, problemy]
    Informacje o obrazie w standardzie RGB podawane są analogowo w postaci zmieniającego się napięcia dla każdego toru (koloru) osobno. Czas trwania jednej z 576 widocznych linii, to 64µs. Aby uzyskać jakość taką, jaką mamy w analogu 4/3 przesyłane jest 720 pikseli w poziomie, czyli na linię (tunery sat, DVD). To bardzo dużo biorąc pod uwagę czas trwania linii i trzy podstawowe kolory. Wziąć trzeba pod uwagę jeszcze wybieranie międzyliniowe, architekturę systemu, korekcję błędów. W niektórych kartach komputerowych i np. w nagrywarkach DVD taka analiza jest przeprowadzana i dopiero od niedawna dość tanio. Czy warto to powielać?

    Pozdrowienia.

    0
  • #4 12 Wrz 2008 00:29
    alecki99
    Poziom 14  

    Chyba żaden z ośmio czy szesnastobitowych mikrokontrolerów nie poradzi sobie z tym zadaniem sam, bez pomocy dekodera sygnału telewizyjnego. Dekodera, czyli układu scalonego, do którego wchodzi złożony sygnał telewizyjny, a wychodzi informacja cyfrowa o kolorze i jasności pikseli. Ta informacja to przeważnie osiem bitów pomykających z zegarem 27MHz (trzeba odczytać jeden bajt co 37 nanosekund).

    Tak więc potrzebujesz dekodera (np. ADV7183, Bt812)
    oraz szybkiego procesora DSP.

    Jeżeli chcesz odczytać piksele z wybranego fragmentu obrazu (pojedyncza linia telewizyjna lub kilka kolejnych linii), może być prościej - wystarczy wyżej wymieniony dekoder, szybka pamięć FIFO, trochę hardware do detekcji synchronizacji w sygnale telewizyjnym i popularny ośmiobitowy mikrokontroler.

    0
  • #5 12 Wrz 2008 08:50
    rmajda
    Poziom 20  

    Ogólnie chodzi mi o takie coś co pozwoli mi policzyć średnią danego koloru w linii. Jaki format byłby najbardziej zjadliwy RGB, composite czy jeszcze coś innego.

    0
  • #7 12 Wrz 2008 19:00
    alecki99
    Poziom 14  

    rmajda napisał:
    Ogólnie chodzi mi o takie coś co pozwoli mi policzyć średnią danego koloru w linii. Jaki format byłby najbardziej zjadliwy RGB, composite czy jeszcze coś innego.


    Czy chodzi o trzy pomiary: średnią R, średnią G i średnią B? Czy średnią jakiegoś zadanego koloru?

    Chcesz mieć te informacje dla każdej linii w obrazie? Czy tylko dla wybranych linii?

    0
  • #8 14 Wrz 2008 16:35
    rmajda
    Poziom 20  

    Tak, chce policzyć srednie R,G,B, info musze mieć dla każdej z 312 linii.

    0
  • #9 14 Wrz 2008 19:42
    alecki99
    Poziom 14  

    Jeśli oprócz trzech sygnałów R, G, B jest też do dyspozycji sygnał CVBS, czyli synchronizacja taka, jaki jest w sygnale composite, to takie zadanie można zrealizować używając w miarę szybkiego mikrokontrolera, wystarczy PIC ileśtam na 20MHz. Oprócz mikrokontrolera, z "grubszych" elementów potrzeba detektora synchronizacji (LM1881), układów sample&hold, paru szybkich wzmacniaczy operacyjnych i kluczy (coś a la CD4053).

    Osobna sprawa to format danych wyjściowych - raz na 40 ms będziesz miał komplet 313*3=939 bajtów o wartościach średnich składowych RGB. Te dane trzeba wyssać z mikrokontrolera w ciągu ok. 3 milisekund. Można też wysysać na bieżąco, wtedy w ciągu 64 mikrosekund trzeba przesłać trzy bajty - wychodzi ok. pół Mb/s, całkiem sporo.

    0
  Szukaj w 5mln produktów