将 HDMI 图像分割到 3D 投影仪系统
Split HDMI Image to 3D Projector System
我完全被困在一个板子上,或者可以满足我需要的东西上。
我在家里做了一个双投影仪 3D 系统,像这样:http://www.cinema3dglass.com/Dual_projector_3D_polarization_system.php
并且 HDMI 可以有不同的 (8) 格式(左、右、上、下等)都在这里:https://www.tridef.com/user-guide/3d-file-formats
所以输入 HDMI 端口上需要的图像可以像上面那样放置,我需要根据格式将它们拆分到两个单独的 HDMI 输出,这样我就可以将它们插入投影仪。
基本上我需要一个设备,它位于上面第一个 link 标题的第一张图片中:"HDMI Distribution Amplifier & EDID Emulator"
我知道 Arduino 无法处理这么多的处理,因为我用更简单的任务让它超载了。
谁能帮我从哪里开始?我找到了 Panda 开发板,但是太贵了。
或者如果有一个不太昂贵的设备可以完成这项任务,我可以买那个。
我设法使用了 Tridef 3D 的系统,但很难开始工作。
我希望我的设备能够从 Chromecast 2.0 获得输入,但如果这不可能,普通播放器也会这样做。
我发现了一些名为 HDMI 解复用器 的设备,它们只是切断了输入的一半,但这相当昂贵,需要 260 美元,而且需要两个。
请帮助我。
提前致谢。
从第 56 页的 HDMI specification 开始,transfer/interconnection 看起来像这样:
我将从交错 left/right 格式开始,其中偶数像素在左,奇数像素在右,因为它很可能不需要任何 FIFO。如果你想要标准 left/right,那么你需要单行 FIFO 每个通道和 up/down 全图像 FIFO。如果您的硬件支持可变时钟,那么这个 简化示例 应该可以工作:
您需要从 Channel0
添加 H/V 同步解码器以重置二进制计数器。二进制计数器计数正在处理的数据地址。与门的单个数据线应该是输入时钟的 D1
一半,但不完全是你需要在 D0
和 D1
之间切换取决于处理数据的时间(对于像素它将是 D1
,对于其他数据,它将是 D0
),这就是我之前提到的可变时钟。比较器只是将地址与预定义常量进行比较(例如非交错 left/right 格式的一半行或检测交错格式的偶数,但两者都必须采用 +/- 其他数据偏移量)注意传输正在进行 bits
不是 Bytes
所以地址将乘以每个数据块的位数......门只是在左右部分之间切换时钟。 LATCHES 确保输出信号不会混合并增强信号。
我将从通道的示波器测量开始,这样您就可以看到数据是如何传输的,然后进行实验。如果您使用 FPGA,那么在进行配置实验时无需对电路板进行任何更改,因为电路将完全位于 FPGA 内。
如果不支持可变时钟那么你需要使用FIFO和/或RAM来存储完整的line/image和然后将适当的部分发送到他们的连接器。为此,您很可能需要完整的解码功能,因此请使用 SIL9134 + SIL9135。将分辨率减半会引入时序问题,因为发送半速半帧然后发送全速全帧需要更多时间(辅助和同步数据被复制而不是减半)。如果发送有足够大的差距,你可以在那里弥补缺失的时间,但同样不是所有硬件都可以支持它丢失 sync/flickering/etc。在这种情况下,您可以将分辨率更改为更小(减半后)以适合发送时间……或放大全分辨率输入(在 x 轴上)。
祝你任务顺利。
我完全被困在一个板子上,或者可以满足我需要的东西上。
我在家里做了一个双投影仪 3D 系统,像这样:http://www.cinema3dglass.com/Dual_projector_3D_polarization_system.php
并且 HDMI 可以有不同的 (8) 格式(左、右、上、下等)都在这里:https://www.tridef.com/user-guide/3d-file-formats
所以输入 HDMI 端口上需要的图像可以像上面那样放置,我需要根据格式将它们拆分到两个单独的 HDMI 输出,这样我就可以将它们插入投影仪。
基本上我需要一个设备,它位于上面第一个 link 标题的第一张图片中:"HDMI Distribution Amplifier & EDID Emulator"
我知道 Arduino 无法处理这么多的处理,因为我用更简单的任务让它超载了。
谁能帮我从哪里开始?我找到了 Panda 开发板,但是太贵了。
或者如果有一个不太昂贵的设备可以完成这项任务,我可以买那个。
我设法使用了 Tridef 3D 的系统,但很难开始工作。
我希望我的设备能够从 Chromecast 2.0 获得输入,但如果这不可能,普通播放器也会这样做。
我发现了一些名为 HDMI 解复用器 的设备,它们只是切断了输入的一半,但这相当昂贵,需要 260 美元,而且需要两个。
请帮助我。
提前致谢。
从第 56 页的 HDMI specification 开始,transfer/interconnection 看起来像这样:
我将从交错 left/right 格式开始,其中偶数像素在左,奇数像素在右,因为它很可能不需要任何 FIFO。如果你想要标准 left/right,那么你需要单行 FIFO 每个通道和 up/down 全图像 FIFO。如果您的硬件支持可变时钟,那么这个 简化示例 应该可以工作:
您需要从 Channel0
添加 H/V 同步解码器以重置二进制计数器。二进制计数器计数正在处理的数据地址。与门的单个数据线应该是输入时钟的 D1
一半,但不完全是你需要在 D0
和 D1
之间切换取决于处理数据的时间(对于像素它将是 D1
,对于其他数据,它将是 D0
),这就是我之前提到的可变时钟。比较器只是将地址与预定义常量进行比较(例如非交错 left/right 格式的一半行或检测交错格式的偶数,但两者都必须采用 +/- 其他数据偏移量)注意传输正在进行 bits
不是 Bytes
所以地址将乘以每个数据块的位数......门只是在左右部分之间切换时钟。 LATCHES 确保输出信号不会混合并增强信号。
我将从通道的示波器测量开始,这样您就可以看到数据是如何传输的,然后进行实验。如果您使用 FPGA,那么在进行配置实验时无需对电路板进行任何更改,因为电路将完全位于 FPGA 内。
如果不支持可变时钟那么你需要使用FIFO和/或RAM来存储完整的line/image和然后将适当的部分发送到他们的连接器。为此,您很可能需要完整的解码功能,因此请使用 SIL9134 + SIL9135。将分辨率减半会引入时序问题,因为发送半速半帧然后发送全速全帧需要更多时间(辅助和同步数据被复制而不是减半)。如果发送有足够大的差距,你可以在那里弥补缺失的时间,但同样不是所有硬件都可以支持它丢失 sync/flickering/etc。在这种情况下,您可以将分辨率更改为更小(减半后)以适合发送时间……或放大全分辨率输入(在 x 轴上)。
祝你任务顺利。