一些快速背景:
流光溢彩是一些飞利浦电视上的系统,它分析屏幕上的颜色信息,然后在显示器背面设置一些 LED 以将屏幕颜色投射到墙上。这是一个非常漂亮的效果。现在有该系统的克隆版本,它们使用 PC 来处理视频和控制 LED。我觉得这有点矫枉过正 - 使用整台机器来跳舞一些 LED ......
我想修改bunnie 的 NetTV来处理未加密的HDMI 视频馈送并驱动一些 LED。我知道 NetTV 是为其他目的而设计的,但我觉得可以对其进行修改以实现我的目标。我不关心底层的 Linux 子系统、I2C 欺骗、视频覆盖等。此时,我不关心使用 HDCP 加密流。
FPGA 框图
这是来自 bunnie 演示幻灯片之一的框图。
幻灯片的其余部分在这里。
这张幻灯片似乎暗示视频像素实际上是经过解码的(不一定是解密的)。
最后......我的一些想法和问题:
这可以在我想要的硬件上完成吗?如果“是”,请继续!如果“否”,请告诉我我还需要什么!
我可以在没有任何外部存储器的情况下处理视频信息吗?据我所知,没有 FPGA 可以直接访问的内存。这可能取决于我用来处理视频数据的算法 - 尽可能少地使用 FPGA Block RAM,我猜我想对进入的像素使用某种“迭代求和”,而不是存储一个整体图片数据帧,然后平均颜色。关于实现这个算法的任何提示?如何开始这是我最大的障碍。
我已经调查了源代码,以了解我应该在哪里“利用”视频数据。
这看起来是合适的位置:
我知道,这张图片很长 - 这是我能做到的最好的,同时让它清晰易读。责怪 Xilinx 的工具!
这似乎接收 TMDS 数据并为每种颜色输出 8 位。我应该为 LED 驱动器设置某种状态机——每个时钟周期,它都会从我创建的任何模块获取像素信息以处理视频数据。
对不起,如果这是冗长或冗长的 - 我正在努力彻底......我只是需要一些帮助才能开始。这是我对 FPGA 项目的第一次尝试——有些人可能会说这对初学者来说太难了,但我说……必须从某个地方开始 :) 感谢阅读。