いくつかの簡単な背景:
Ambilightは一部のPhilips TVのシステムで、画面上の色情報を分析し、ディスプレイの背面にあるLEDをいくつか設定して、画面の色を壁に投影します。それはかなり気の利いた効果です。PCを使用してビデオを処理し、LEDを制御するこのシステムのクローンが世に出ています。私はこれは少しやり過ぎであることがわかりました-いくつかのLEDを踊るためにマシン全体を使用して...
私は変更したいbunnieのNETVを処理するために、暗号化されていないがHDMIビデオフィードといくつかのLEDの駆動。NeTVが他の目的のために設計されていることは知っていますが、目標を達成するために変更できると思います。基盤となるLinuxサブシステム、I2Cスプーフィング、ビデオオーバーレイなどは気にしません。現時点では、HDCP暗号化ストリームの操作については関係ありません。
FPGAブロック図
これは、バニーのプレゼンテーションスライドの1つからのブロック図です。スライドセット
の残りの部分はこちらです。
このスライドは、ビデオピクセルが実際にはデコードされている(必ずしも解読されているわけではない)ことを示唆しているようです。
最後に...私の考えと質問のいくつか:
これは私の希望するハードウェアで実行できますか?「はい」の場合、続行してください!「いいえ」の場合は、さらに何が必要かを教えてください。
外部メモリがなくてもビデオ情報を処理できますか?私が知る限り、FPGAが直接アクセスできるメモリはありません。これはおそらく、ビデオデータの処理に使用するアルゴリズムに依存します-できるだけ少ないFPGAブロックRAMを使用するには、全体を格納するのではなく、入ってくるピクセルのある種の「反復加算」を使用したいと思います画像データのフレームと色の平均化。このアルゴリズムの実装に関するヒントはありますか?これを始める方法は私の最大のハードルです。
私はビデオデータのどこに「タップ」する必要があるかについてソースコードを調査しました。
これは適切な場所のように見えます。
私は知っています。この画像は長いです-読みやすくするために私ができる最高のことです。ザイリンクスのツールを非難してください!
これは、TMDSデータを取り込み、各色について8ビットを出力するようです。LEDドライバー用のある種のステートマシンが必要です。クロックサイクルごとに、ビデオデータを処理するために作成したモジュールからピクセル情報を取得します。
これが冗長または長い場合は申し訳ありません-私は徹底的にしようとしています...これで地面から降りるのに少し助けが必要です。これは、FPGAプロジェクトでの最初の試みです。初心者には難しすぎると言う人もいますが、どこかで始めなければならないと思います。