当我们快进视频时会发生什么

信息处理 图像处理 视频处理
2021-12-25 07:19:41

在过去的几个月里,我一直在参与图像处理类项目,在此之前我没有图像处理方面的经验。今天过滤图像时,我想当我们快进任何电影或视频剪辑时到底会发生什么?

例如,如果我有一个帧速率为 30 的视频,这意味着将在一秒钟内处理 30 帧。并且每一帧都需要1/30 = 0.03sec处理,如果我们提高视频的帧速率或 FPS,我们将获得更流畅的观看效果。

那么当我们快进视频时到底会发生什么,我认为(不确定)任何剪辑的音频和视频必须同步,以便我们可以相应地控制两者。

那么当我们转发视频时,它会跳过某些帧吗?如果是,那么音频呢?究竟会发生什么?

1个回答

视频发生了什么:

  • 在适用于大整数快进速率的最简单实现中,仅播放N中的1帧,其中N是快进速率。例如,在 30 FPS 的正常播放速率下,帧 0 到 29 会在一秒的持续时间内按顺序播放。以 3 倍速率快进,帧 0、3、6 ... 87 在一秒钟内播放;帧 1、2、4、5...88、89 被丢弃。这在计算上可能相当昂贵,因为视频解码器每秒必须提供 3 倍于正常播放的帧数(尽管显示器继续每秒接收 30 帧)。
  • 当硬件允许和/或快进速率较小时,只需增加帧速率。例如,在 1.1x 速率的快进中,帧 0 .. 32 在一秒钟内播放。
  • 在某些应用中,必须将视频流加速/减速一个小倍数(例如 5%),同时保持目标帧速率(例如,当广播公司想要加速节目以腾出空间额外播放 20 秒的广告时) )。在这种情况下,必须使用插值/重采样方法 - 这与用于电视电影转换的技术相同。

音频会发生什么:

  • 在一些实施方式中,音频以更高的采样率被读取,并且被抽取到目标采样率。例如,让我们考虑原始音频为 44.1kHz,快进速率为 3x 的示例。1s需要播放3s原音。因此,您从原始音频流中读取 44100 x 3 个样本,使用具有 1/3 归一化截止频率的滤波器对其进行低通滤波;并且只保留每三个样本。这为您提供了 44100 个加速音频样本,这些样本在 1 秒的时间跨度内以 44.1kHz 播放。这会产生不希望的效果,即提高所有声音的音高,使声音具有“花栗鼠效应”。对于小幅度的上移/速率,公众可以接受这种效果(尽管受过音乐训练的人可能会注意到一首著名的歌曲在音高上发生了变化,而不是原来的音调)。
  • 在一些更好的实现中(例如 Apple Quicktime 播放器),时间拉伸算法用于在不改变音高的情况下增加输入音频的速度。对于播放/擦洗,音质几乎不重要,时间拉伸算法相当粗糙(您可以查看soundtouch的源代码)。