DVI采集与TS流传输原理

✅ 大体链路方向是对的,但是有几处关键细节要修正,还有 BT.1120 和 YUV422 的关系单独讲清楚
先把修正后的完整链路放前面,再逐条解释:
DVI信号源(主机/工业相机)
→ 内部:RGB888像素 TMDS编码 → DVI线缆上传输4对TMDS差分串行信号
→ 采集卡DVI接收芯片:TMDS解码 + 串并还原 → 并行RGB888(24bit,DE/HS/VS/像素时钟)
→ FPGA:RGB888 色彩空间转换 RGB→YUV422,输出 BT.1120 并行视频总线
→ DSP编码器:接收BT.1120的YUV422原始图像,做H.264/H.265编码,输出视频ES流
→ FPGA/DSP内部:ES打包成188字节MPEG-2 TS包
→ TS包可以二选一输出:
方案A:并行TS总线送到主控(你前面说的DATA[7:0]+CLK+VALID+PSYNC)
方案B:TS over UDP,把TS包放进UDP/IP,网口发出
1. BT.1120 是什么,和YUV422的关系(重点)
BT.1120 是并行数字视频接口标准(ITU-R BT.1120),规定的是【接口时序、引脚、同步信号】;它本身不是像素格式。
- BT.1120 接口承载的数据一般就是 YUV422(16bit/像素),这是标清/高清视频编码器最常用的输入格式。
- YUV422 是像素采样格式:亮度Y全采样,U、V色度隔行采样,2个像素共用一组UV。
- RGB888:24bit /像素
- YUV422:16bit /像素(节省带宽,H.264/H.265编码器原生就以YUV为输入,不能直接拿RGB编码!)
一句话区分:
- YUV422 = 图像像素数据格式(内容)
- BT.1120 = 并行传输总线标准(怎么把YUV422在硬件引脚上传)
补充:BT.1120 也可以承载别的格式,但视频编码场景几乎都是YUV422。
2. 纠正你描述里的3个小错误
① H.264/H.265 不能直接编码RGB
编码器(DSP编码核)内部算法基于YUV色彩空间,必须先把RGB转为YUV,这一步一般放在FPGA做。
RGB里红绿蓝有大量冗余,YUV把亮度和色度分离,方便压缩(人眼对亮度更敏感,色度可以降采样,也就是422/420)。
② TS封装 和 UDP是两层概念
- TS:媒体封装层,把H.264/H.265 ES码流打包成188字节TS包;
- UDP:传输层网络协议。
TS over UDP = 把已经生成好的TS包,当做UDP的payload载荷,封装进IP包,通过以太网发送。
两个层级不要混:UDP只是网络运载工具,TS是视频打包格式。
③ 硬件选择小提醒:
有的方案:DSP自带RGB2YUV,不需要FPGA转;
有的方案:FPGA内置编码器,不用外部DSP。
你这个框图是:FPGA做色彩转换,DSP做编码,属于经典架构。
3. 两个输出路径(你项目里两条输出,可以二选一或者同时)
- 板内短距离:并行TS总线(11根IO)采集卡 → 主控板
- 网络输出:TS over UDP(以太网)
4. 额外区分:BT.1120 vs BT.656
经常容易搞混:
- BT.656:标清(SD)并行YUV422
- BT.1120:高清HD并行YUV422(720p/1080i/1080p)
这俩时序很像,BT1120是高清版本。
极简一句话总结修正后的链路
DVI源将RGB888像素编码为TMDS差分串行信号在线缆传输;接收芯片还原回并行RGB888;FPGA做RGB转YUV422,用BT.1120并行总线送给DSP;DSP完成H.264/H.265编码得到ES流,再封装成188字节TS包;TS包既可以走板上并行TS接口送给主控,也可以封装进UDP通过网口传输。
浙公网安备 33010602011771号