回放关键帧间隔怎样影响空间和定位成本:七种关键帧间隔的空间比较(实例26)

  • 2026-11-06
  • 1

回放若每一步都保存完整状态,定位方便但记录较大。只保存差异会节省部分空间,却需要从之前的完整关键帧开始重建。间隔选择因此存在取舍。

固定规则与输入

总共保存从零到末项的一串状态,每隔k项保存一份完整状态,零号一定完整,其余项保存固定大小的差异。定位目标时加载最近的前置关键帧,再按顺序应用差异。

状态总数186,编号零至185,完整记录784字节,差异记录16字节

逐步观察结果

间隔1,完整记录186份,总大小145824字节,最坏应用0份差异,等可能查询全部目标时平均0份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 185, 0], [139, 139, 0], [18, 18, 0], [33, 33, 0], [50, 50, 0]]。

间隔3,完整记录62份,总大小50592字节,最坏应用2份差异,等可能查询全部目标时平均1份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 183, 2], [139, 138, 1], [18, 18, 0], [33, 33, 0], [50, 48, 2]]。

间隔5,完整记录38份,总大小32160字节,最坏应用4份差异,等可能查询全部目标时平均185/93份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 185, 0], [139, 135, 4], [18, 15, 3], [33, 30, 3], [50, 50, 0]]。

间隔8,完整记录24份,总大小21408字节,最坏应用7份差异,等可能查询全部目标时平均215/62份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 184, 1], [139, 136, 3], [18, 16, 2], [33, 32, 1], [50, 48, 2]]。

间隔12,完整记录16份,总大小15264字节,最坏应用11份差异,等可能查询全部目标时平均335/62份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 180, 5], [139, 132, 7], [18, 12, 6], [33, 24, 9], [50, 48, 2]]。

间隔20,完整记录10份,总大小10656字节,最坏应用19份差异,等可能查询全部目标时平均575/62份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 180, 5], [139, 120, 19], [18, 0, 18], [33, 20, 13], [50, 40, 10]]。

间隔32,完整记录6份,总大小7584字节,最坏应用31份差异,等可能查询全部目标时平均935/62份;样本[目标,前置关键帧,差异数][[0, 0, 0], [185, 160, 25], [139, 128, 11], [18, 0, 18], [33, 32, 1], [50, 32, 18]]。

间隔为一时每项都是完整记录,不需要应用差异。其他间隔应把最后一个不完整分组一起计算,不能直接假定每段都具有相同数量的目标。

独立复核

存储量等于完整记录数乘完整大小,加差异记录数乘差异大小。每个目标所需差异数量为其编号除以间隔的余数;最后一段可能不足k项,平均值必须按真实目标总数计算。

复核时先保留本例输入,再自己写出中间状态。若结果不同,应从最早出现差异的位置检查,尤其留意边界是否包含、索引从哪里开始、取整何时发生,以及是否使用了尚未更新的旧状态。计算得到的结论仅适用于已经说明的规则,修改规则后需要重新验证。

适用范围

这里假定所有完整记录与差异记录大小分别固定,且差异能顺序应用。实际压缩比、损坏恢复和解码时间可能不同。本文只计算这个明确模型,不能直接推断某款回放格式的实际性能。