Un bref aperçu:
Ambilight est un système sur certains téléviseurs Philips qui analyse les informations de couleur sur l'écran, puis définit des LED à l'arrière de l'écran pour projeter la couleur de l'écran sur le mur. C'est un effet assez astucieux. Il existe maintenant des clones de ce système qui utilisent un PC pour traiter la vidéo et contrôler les LED. Je trouve que c'est un peu exagéré - utiliser une machine entière pour danser certaines LED ...
Je voudrais modifier le NeTV de bunnie pour traiter un non cryptéAlimentation vidéo HDMI et commande de LED. Je sais que le NeTV a été conçu à d'autres fins, mais je pense qu'il peut être modifié pour atteindre mon objectif. Je ne me soucie pas du sous-système Linux sous-jacent, de l'usurpation d'identité I2C, de la superposition vidéo, etc. À ce stade, je ne suis pas concerné par le travail avec des flux cryptés HDCP.
Diagramme de blocs FPGA
Il s'agit d'un diagramme de blocs d'une des diapositives de présentation de bunnie.
Le reste du jeu de diapositives est ici .
Cette diapositive semble impliquer que les pixels vidéo sont en fait décodés (pas nécessairement décryptés ) .
Enfin ... certaines de mes réflexions et questions:
Cela peut-il être fait sur le matériel que je souhaite? Si "oui", continuez! Si "non", dites-moi de quoi j'ai besoin!
Pourrai-je traiter les informations vidéo sans mémoire externe? Il n'y a pas de mémoire à laquelle le FPGA puisse accéder directement, pour autant que je sache. Cela dépend probablement de l'algorithme que j'utilise pour traiter les données vidéo - pour utiliser le moins de RAM FPGA Block possible, je suppose que je voudrais utiliser une sorte de `` sommation itérative '' des pixels entrant, plutôt que de stocker un ensemble cadre de données d'image, puis la moyenne des couleurs. Des conseils concernant la mise en œuvre de cet algorithme? Comment commencer avec cela est mon plus grand obstacle.
J'ai étudié le code source pour savoir où je dois «puiser» dans les données vidéo.
Cela ressemble à l'endroit approprié:
je sais, cette image est longue - c'est le mieux que je pouvais faire tout en la rendant claire à lire. Blâmez l'outil de Xilinx pour cela!
Cela semble prendre les données TMDS et produire 8 bits pour chaque couleur.Je devrais avoir une sorte de machine d'état pour le pilote LED - à chaque cycle d'horloge, il obtient les informations sur les pixels du module que je crée pour traiter les données vidéo.
Désolé si c'est verbeux ou long - j'essaie d'être minutieux ... J'ai juste besoin d'aide pour décoller avec ça. C'est ma première tentative sur un projet FPGA - certains diront que c'est trop difficile pour un débutant mais je dis ... je dois commencer quelque part :) Merci d'avoir lu.