摇摆时间线ZHLMI
24-08-23 20:57 微博认证:上海慧龙计算机系统有限公司多媒体经理

G2G 延迟,Glass-to-Glass,即事件光子进入摄影机镜头玻璃到相应光子穿过显示器玻璃被人眼捕获的这段时间差。
G2A 延迟,Glass-to-Algorithm,即事件光子进入摄影机镜头玻璃到图像处理算法的事件的第一张图像之间的时间差。
图1为 G2G 和 G2A 视频通信传输模型。
图2为 G2G 和 G2A 延迟测量系统示意图,可以简单理解为人眼看图像。

G2A 延迟现在在汽车智能化领域的视觉控制系统中举足轻重,当然这块不是我关注的点。我主要关注 G2G 延迟,也就是我们直播以及现场视频通信中的延迟。

图3为视频处理通信中 G2G 延迟产生的整个过程。
G2G 这种延迟造成的原因一般如下:

1、摄像头本身的延迟。
2、片上延迟(L1),On-chip latency,可以理解为图像处理芯片内部发生的延迟,L1 层级中以编码器和传输延迟为主。
3、网络或存储延迟,数据通过网络传输或从存储设备读取时所经历的延迟。
4、片上延迟(L2),L2 层级中以解码器和显示延迟为主。
5、显示器或监视器延迟。

- 片上延迟(L1):
(1)Source Frame Buffer DMA Latency:源帧缓冲区(即存储图像或视频帧的内存区域)的数据传输到另一个设备或处理单元所经历的延迟。
(2)Encoder Latency:编码器延迟,帧等待处理排队的时间+处理编码压缩+编码后数据帧准备输出的时间。
(3)Transmission Bitstream Buffer Latency:传输比特流缓冲区延迟,编码后的数据(比特流)在被发送到网络之前在缓冲区中等待的时间。

- 片上延迟(L2):
(1)Coding Picture Buffer(CPB) / Jitter Buffer Latency:编码图像缓冲区(CPB)/抖动缓冲区延迟,其中 CPB 的大小直接影响编码的延迟,而抖动缓冲区可以吸收网络延迟的变化,保证视频播放的流畅性(当然也就会引入延迟)。
(2)Decoder Latency:解码器延迟,解码器接收到编码后的视频数据,到解码器输出解码后的原始视频帧所需的时间。
(3)Decoded Picture Buffer(DPB) Latency:解码图像缓冲区(DPB)延迟,解码后的图像帧在解码图像缓冲区中存储并等待进一步处理或显示的时间。
(4)Display Frame Buffer DMA Latency:显示帧缓冲区 DMA 延迟,图像数据通过直接内存访问(DMA)技术从显示帧缓冲区传输到显示硬件(如显卡)的过程中所经历的延迟。

而在解决延迟方面,帧选择(跳帧)是其中的一种处理方式,比如 All-I 到 IPB 就可以简单地理解为帧选择。
编解码过程中的颜色转换,RGB 到 YUV 也是一种处理方式,为了利于传输,大家应该都知道 4:2:2 甚至 4:2:0 这个概念。
另外,H.264/H.265 这种通过单帧切片(Slice)传输,以及采用并行处理多路数据流的技术都可以有效降低延迟,尽管质量上会有损失。

目前大部分主流的非实时控制的视频通信传输延迟一般在 300~500 毫秒之间,类似于无线图传这样的较好的厂家会做到 300 毫秒以内。至于用在实时控制领域的 G2A,往往要求是单帧延迟控制在 30 毫秒以内。

发布于 上海