Szybkie tło:
Ambilight to system w niektórych telewizorach Philips, który analizuje informacje o kolorze na ekranie, a następnie ustawia diody LED z tyłu wyświetlacza, aby wyświetlać kolor ekranu na ścianie. To całkiem fajny efekt. Istnieją klony tego systemu, które używają teraz komputera do przetwarzania wideo i sterowania diodami LED. Uważam, że to trochę przesada - za pomocą całej maszyny tańczyć niektóre diody LED ...
Chciałbym zmodyfikować NeTV Bunnie, aby przetwarzać niezaszyfrowanePrzesyłaj wideo HDMI i napędzaj niektóre diody LED. Wiem, że NeTV został zaprojektowany do innych celów, ale uważam, że można go zmodyfikować, aby osiągnąć mój cel. Nie dbam o bazowy podsystem Linux, fałszowanie I2C, nakładkę wideo itp. W tym momencie nie interesuje mnie praca z szyfrowanymi strumieniami HDCP.
Schemat blokowy FPGA
Jest to schemat blokowy z jednego ze slajdów prezentacji Bunnie. Reszta zestawu slajdów jest tutaj .
Ten slajd wydaje się sugerować, że piksele wideo są w rzeczywistości odkodowane (niekoniecznie odszyfrowane ) .
Wreszcie ... niektóre z moich myśli i pytań:
Czy można to zrobić na wybranym sprzęcie? Jeśli „tak”, kontynuuj! Jeśli „nie”, powiedz mi, czego więcej potrzebuję!
Czy będę mógł przetwarzać informacje wideo bez pamięci zewnętrznej? O ile wiem, nie ma pamięci, do której FPGA miałoby bezpośredni dostęp. Prawdopodobnie zależy to od tego, jakiego algorytmu używam do przetwarzania danych wideo - aby użyć tak małej pamięci RAM bloku FPGA, jak sądzę, chciałbym użyć pewnego rodzaju „iteracyjnego sumowania” nadchodzących pikseli, zamiast przechowywać całość ramka danych obrazu, a następnie uśrednianie kolorów. Wszelkie wskazówki dotyczące implementacji tego algorytmu? Jak zacząć, to moja największa przeszkoda.
Sprawdziłem kod źródłowy, gdzie powinienem „wykorzystać” dane wideo.
To wygląda na właściwe miejsce:
wiem, że ten obraz jest długi - to najlepsze, co mogłem zrobić, jednocześnie umożliwiając czytelne czytanie. Wini za to narzędzie Xilinx!
Wydaje się, że pobiera dane TMDS i generuje 8-bit dla każdego koloru.Powinienem mieć jakąś maszynę stanu dla sterownika LED - w każdym cyklu zegara pobiera informacje o pikselach z dowolnego modułu, który tworzę do przetwarzania danych wideo.
Przepraszam, jeśli to jest trudne lub długie - Staram się być dokładny ... Potrzebuję tylko pomocy, aby z tym zacząć. To moja pierwsza próba projektu FPGA - niektórzy mogą powiedzieć, że jest to zbyt trudne dla początkującego, ale mówię ... muszę zacząć gdzieś :) Dziękuję za przeczytanie.