考试题 - 从视频捕获到视频播放的端到端延迟

信息处理 压缩 视频压缩
2022-02-12 09:41:29

嗨,我正在准备明天的考试,我遇到了一个 17 分的问题,这似乎很简单,所以我认为我错过了一个关键点,因为剩下的考试相当困难。问题在下面,我的尝试在下面。

问题

在此处输入图像描述

框架尺寸如下:

在此处输入图像描述

我的尝试:

我在维基百科上查找了视频捕获,它将其定义为将模拟信号转换为数字信号的过程 - 所以我将捕获帧的点视为在它们被数字化之后。我们被告知忽略压缩和解压缩所花费的时间,因此下一部分只是发送数据。帧序列中的数据总量为 54KB(老实说,我不确定为什么帧序列以 I 帧开始和结束 - 似乎没有意义)。所以传输 1s 的视频需要 0.27s。

为了流畅地播放一秒钟的帧,播放缓冲区必须至少包含 25 帧。帧序列是 IBBPBBI,总大小为 54 KB。一秒内播放速度为 54 x 25 = 0.432 MB/s。

我很确定我们需要做出一些估计来解决剩下的问题。

一如既往,我愿意接受任何建议!感谢阅读:D

2个回答

在下一个 I 或 P 帧被扫描、压缩、传输、接收和解压缩之前,您不能开始播放任何 B 帧。

总延迟与需要在编码器和解码器处处理的最小延迟直接相关,在此之前第一帧准备好在接收器处呈现。

传输和解码的过程如下: 索引为 (0,1,2,3,4,5,6) 的 IBBPBBI 将被压缩并以模式传输 - 作为 IPBBBIBB (0,3,1,2 ,6,4,5)。鉴于需要先获取相应的图片,同时需要先解码,然后才能渲染第一帧。

系统延迟中的总元素

  1. 捕捉延迟~他们说假设为零。

  2. 编码延迟(压缩时间实际上为零,但编码器需要在产生输出之前缓冲帧)。

    由于两张 B 图片(图片 1,2)需要等待 P 图片(图片 3)才能从捕获中获得,并且需要先进行编码。因此引入的延迟为 - 3 / fps = 3 * 40 ms = 120 ms。

  3. 传输延迟。

  4. 需要缓冲最少的数据,直到可以开始解码

    在这种情况下,图像 I、P 和第一个字节 B 帧的开始需要由接收器和解码器读取和解码。在第一张图片出现之前必须提交给解码器的总字节数
    = (18k + 6k)*8 / 1600k
    = 120 ms。
    注意:这里有一个问题,通常音频和其他元数据以相同的方式与视频一起传输,在这种情况下,数字 1600k 应该减少到有效的可用视频带宽。

  5. 解压和渲染时间(这里假设为零)。

因此,从关键元素来看,我们有总的端到端延迟= 120 ms + 120ms = 240 ms。


但这一切都太理想化了一般来说,传输中总是存在明显的抖动。接收器总是会进行一定量的缓冲(在发送给解码器之前),以尽量减少下溢和上溢的情况。

第二个重要的一点是,所有 I 帧都不可能具有相同的大小,尽管在上述情况下,您可以将其作为上面的最大帧大小。