假设我有一个我编码的参考(关键)帧。现在我想对称为增量帧 P 的下一帧进行帧间预测。为此,我计算运动矢量并找到补偿后的 P 和 I 之间的差异。但是,在某些情况下,这种差异可能非常大。鉴于我的输入颜色值在 [0, 255] 范围内,则差异可以在 [-255, 255] 范围内。这是另外一点信息。这通常是如何处理的?这个范围是缩小到 [-127, 127] 还是类似的东西?或者我们只是压缩更高精度的增量数据?
编辑:
好的,所以我做了一些实验:
a)压缩参考帧 - 得到的压缩比 x26
然后我拿了两个相似的框架并测试并得到了这个:
b)在转换为 luma-chroma 之前,我采用 RGB 中的两个帧,计算它们的异或并运行 luma-chroma 和 DCT - 压缩比 x39 - 出现严重的伪影
c)我取差异 frame1-frame2 和输出钳位 (frame1-frame2, -0.5, 0.5) + 0.5 - 压缩比 - x76
d)我计算 frame1 和 frame2 的 DCT 并计算 xor - 压缩比 x72
所以我看不出 b) 是如何工作的——异或输入 RGB 对我来说没有多大意义。我认为最有效的是 c) 因为它还允许在获取差异之前模糊 frame1 和 frame2,从而大大增强压缩