logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jakie są metody nakładania tekstu na obraz?? Teletekst.

meduza11 11 Mar 2007 13:16 3036 8
REKLAMA
  • #1 3666566
    meduza11
    Poziom 1  
    Posty: 1
    Witam, mam do wykonania projekt na układzie altery UP2 development kit, program za pomocą którego będzie można wprowadzić tekst do obrazu. Na wyświetlaczu mamy obraz, jak dodać do niego tekst, który wprowadzam z klawiatury? Jakie są ogólnie stosowane metody nakładania teletekstu w telewizji?
    Za wszelka pomoc z gory dziękuję.
  • REKLAMA
  • #2 3673536
    tony_tg
    Poziom 16  
    Posty: 140
    Pomógł: 13
    Ocena: 3
    Czesc,

    A wyprowadziles juz "jakikolwiek" obraz "telewizyjny" z tej plyty?
    Z tego co wiem to ona ma port VGA, co z telewizja ma niewiele wspolnego. Jak zaprezentujesz, ze cos mozna zobaczyc na monitorze z tego VGA, no oprocz "niczego", czyli zobaczyc jakis pattern, to powiem Ci jak mozna taki bufor najprosciej zrobic.

    A jak nie chcesz nic prezentowac to poszukaj sobie jak bufor konsoli byl zrobiony w starym dosie. Duzo roboty jak na FPGA ale za to bedziesz mial wiecej niz cokolwiek co mam Ci do przekazania.

    Ale jesli chodzi Ci o nakladanie teletekstu na obraz telewizyjny, to jak poguglasz to znajdziesz odpowiedz. Tylko nie wiem, jak chcesz to zaimplementowac na tej akurat plycie bo nie masz analogowego wejscia video.

    Pozdrawiam,
    tony_tg
  • REKLAMA
  • #3 3693528
    radiomechanik
    Poziom 23  
    Posty: 784
    Pomógł: 18
    Ocena: 56
    pytanie o teletekst raczej powinno znaleźć sie w dziale RTV , ale na początek troszke suchej teorii - obraz TV składa sie z 625 linii, z 25 ciu pół-obrazów generowanych z przeplotem i tu prosto sobie wyjaśnić jak mają być skonstruowane obrazy wyświetlane na ekranie TV , dodam jeszcze że częstotliwość odchylania poziomego 15625 Hz , i nie wszystkie linie sa wyświetlane , aby wyświetlać generowane napisy na jakimkolwiek obrazie trzeba jeszcze wykonać lub wykorzystać gotowy mikser wizyjny
  • #4 3693745
    sq6ade
    Poziom 40  
    Posty: 6855
    Pomógł: 482
    Ocena: 284
    W typowym TV CRT układowi OSD czt TXT wystarczają impulsy synchro "ramki" i "linii" oraz dostęp do baz tranzystorów sterujących katodami RGB kineskopa .... Ale czy twój projekt dotyczy tego archaicznego systemu wyświetlania obrazu?
  • REKLAMA
  • #5 3697571
    Jodator
    Poziom 11  
    Posty: 12
    Hej, jeżeli pracujesz z sygnałem Video (konkretnie VGA) i do tego masz coś dołożyć to:
    - możesz zrobić układ, do którego 'wchodzi' sygnał VGA i który to w odpowiednim momencie (dokładnie przy odpowiednim pikselu) zamienia wartość wyświetlanego koloru na inny.
    - lub masz układ który podmienia dwa sygnały VGA. Coś na kształt multipleksera. Jeden sygnał to ten który masz 'niezależny', drugi z tekstem który 'nakładasz'.
    - podejrzewam, że jeszcze coś by sie dało wykombinować
    Tu zrobiłem coś takiego z sygnałem VGA http://picasaweb.google.com/jodator/VGAMenu - czy o coś takiego chodzi? ;)
  • #6 3697930
    tony_tg
    Poziom 16  
    Posty: 140
    Pomógł: 13
    Ocena: 3
    Czesc,

    Jodator,
    Fajne to co zrobiles, mozesz podac jakies szczegoly implementacyjne? Koncowka liczyla ktora linia i kory pixel i wtedy nakladala tekst? Jak kontrolowales rozmiar czcionek, wielkosc konsoli i gdzie ona byla na ekranie?

    Ja osobiscie takie cos zrobilem ale duzo prosciej, tzn, dla mnie bylo prosciej :) Robilem to sam tzn zabawa w budowanie wszystkich klockow w VHDL'u ale jest pare gotowcow na opencores, ktore mozna uzyc. Zwlaszcza kontroler VGA.

    Ja zaprojektowalem kontroler VGA ktory bral dane z pamieci i je wyswietlal czyli interesowalo go tylko pobranie danych, zdekodowanie kolorow i wygenerowanie pionowej i poziomej synchronizacji i podanie RGB w odpowiednim czasie. Do nakladania tekstu uzylem 8 bitowego cpu w FPGA ktory mial program nakladajacy bufor tekstu i wpisywal go do pamieci video, czyli mozna bylo sobie ustawiac wielkosc buforu, gdzie on jest na ekranie, zmieniac czcionke itp. Bylo to latwe bo wszystko w softwarze. Zamiana tego cpu i programu na logike jest mozliwa ale jak juz mialem procka to nie chcialo mi sie kombinowac z napisaniem logiki ktora to by robila. Generalnie mialem pamiec video na ktorej operowalem i nie interesowalo mnie jak i gdzie liczyc linie i piksele a wyswietlanie to bylo wyplucie zawartosci pamieci video w odpowiednim czasie na ekran monitora i to wszystko. No i mozna bylo miec wiecej buforow pamieci video czyli moglem wyswietlac jedna ramke i jak juz byla gotowa nastepna w drugim buforze to przelaczyc sie wiec nie widzialem migania obrazu przy niektorych zastosowaniach.

    Pozdrawiam,
    tony_tg
  • #7 3700758
    Jodator
    Poziom 11  
    Posty: 12
    @tony_tg

    Niemalże tak samo ;), tylko:
    miałem własny (no prawie, bo przerobiony z 640x480) kontroler VGA 800x600@72Hz, który dawał sygnały h_sync i v_sync oraz współrzędne x i y aktualnego piksela. (dwa liczniki + z 5 warunków na generowanie impulsów sterujących).
    Jako sygnał VGA służył mi prosty układ kombinacyjny do generacji pasów oraz inne, przełączane dip-switchami statyczne obrazy(np. czarne tło) i jeden dynamiczny obraz.
    Do tego z pamięci RAM (117kB, rozdzielczość 400x300) odczytywałem zawartość tego co ma być dołożone, czyli była to pamięć MENU (czy jak kto woli OSD). Format danych był taki, że miałem 6-bitowy kolor + 'kanał alpha'. Dzięki czemu przy odpowiednim zapisie koloru mogłem uzyskać półprzeźroczystość lub też całkowite wyświetlanie menu bądź tła.
    Do zapisu pamięci RAM używałem oczywiście wbudowanej '51 (TSK51 od Altium). Czcionka z gotowca od Altium, bo samemu mi się nie chciało pisać ;) Oczywiście można by do tego dołożyć inny układ generujący sygnał VGA, byle się synchronizował sygnałami x i y.

    Gdzieś mam prezentację do tego zrobioną jak Cię szczegóły interesują.
  • #8 4695658
    tomifi
    Poziom 12  
    Posty: 22
    Witam,
    jeśli masz jeszcze tą prezentację, to b. proszę o jej podesłanie lub wrzucenie gdzieś w miejsce publiczne.
    Pozdrawiam
  • REKLAMA

Podsumowanie tematu

✨ Dyskusja dotyczy metod nakładania tekstu na obraz w projekcie realizowanym na zestawie Altera UP2 Development Kit, który posiada wyjście VGA, a nie analogowe wejście video. Wskazano, że typowe metody nakładania teletekstu w telewizji wymagają miksera wizyjnego oraz synchronizacji sygnałów ramki i linii, co jest trudne do implementacji na FPGA bez odpowiedniego wejścia video. Zaproponowano podejścia do nakładania tekstu na sygnał VGA, takie jak: modyfikacja wartości koloru piksela w odpowiednim momencie, multipleksowanie sygnałów VGA (sygnał z obrazem i sygnał z tekstem) oraz wykorzystanie kontrolera VGA generującego sygnał synchronizacji i odczytującego dane z pamięci video. Przykładowa implementacja obejmowała kontroler VGA 800x600@72Hz z generacją sygnałów h_sync i v_sync oraz współrzędnych piksela, pamięć RAM przechowującą dane tekstowe z kanałem alpha umożliwiającym półprzezroczystość, a także 8-bitowy procesor w FPGA do zarządzania buforem tekstowym i jego pozycją na ekranie. Udostępniono link do przykładowych materiałów i implementacji. Podkreślono, że implementacja teletekstu w FPGA wymaga zaawansowanej synchronizacji i zarządzania pamięcią video, a gotowe kontrolery VGA i biblioteki mogą ułatwić realizację projektu.
Wygenerowane przez model językowy.
REKLAMA