3G SDI level B 格式解析及转换至 level A

3G SDI 的 level B 格式包括两种,DL(Dual Link) 和 DS(Dual Stream)。

其中 DS 是通过两根线缆分别传输两个 HD SDI 视频流,总带宽与 3G SDI 相同;而 DL 是通过一根线缆,将两路 HD SDI 同时传输,从而实现 3G SDI 的带宽。

所以当实现 3G SDI 解码时,需要兼容的 level B 格式就是 level B-DL。

以下是 GS 2971 Data Sheet 中 level B(下文中 level B 都特指 level B-DL)的 20 bits 并行数据格式:

level B 数据流格式

其中高 10 bits 传输 Link A,低 10 bits 传输 Link B,每个 Link 是一个单通道的 HD SDI 数据流,单通道传输时Y/C通道复用,时钟速率为原本的两倍,即 148.5MHz。

要解码 level B 首先要将其转换为两路正常的 HD SDI。因为Y和C交替传输,所以需要一个分频的时钟作为采样信号,将Y和C分别提取寄存并同步,从图中可以看出先传输C再传输Y,所以需要C需要寄存一拍来实现与Y的同步。在 Lattice SDI IP 核中 ychannel 信号可以作为该采样信号。

用分频时钟采样后,得到了 74.25MHz 的两路 HD SDI 数据流,根据协议 SMPTE 425M 和 SMPTE 372M,两个 Link 分别为两幅子图像(Sub Image),一个传输奇数行,一个传输偶数行。由于一帧图像总行数为1125行,肯定是不能简单地区分为奇偶的,所以3G level B 将两帧图像打包为一帧,第一帧 Link A 传输偶数行,第二帧 Link B传输偶数行。为了方便,以下将打包的两帧区分为奇数帧和偶数帧。

下图是 SMPTE 425M 中 level B 行数映射的示意图:

level B 行号映射

此图中需要注意的主要有以下几点:

  1. 打包后 level B 的两个 Link 共享一个行号。

  2. 打包后 level B 的奇数帧和偶数帧 Field 值不同,所以 level B 是确实存在奇偶帧之分的。

  3. 奇数帧的 583 行和 1123 行。583 行在有效数据区之外,所以 583 行中两个 Link 的 TRS 都是消隐区对应的值。而 1123 在有效数据区之内,所以 1123 行的两个 Link 的 TRS 都是有效数据区对应的值。

综上,兼容 level B 主要就是解决以上问题。第一点,由于 level B 的两个 Link 使用相同行号,所以每传输 1125 行数据实际是传输了 2250 行,将 level B 每一帧的每行数据映射到 [0:2249] 更加方便操作;第二点,在第一点的基础上就不用进行奇偶帧分别操作了,将所有行的 Field 值更改为 0 即可;第三点,也是最坑的一点,需要单独操作 583 行和 1123 行的 Link B,583 行的 Link B 是数据行,但是 TRS 的 V 为 1,同样的,1123 行的 Link B 是消隐行,但是 TRS 的 V 为 0,需要分别修改。

完成以上的修改,就实现了 level B 到 level A 的转换。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值