在我的视频编解码器中,我有两种类型的帧:帧可以是ref帧(类似于JPEG)或delta帧。 Delta帧也像JPEG一样,但是根据当前和先前帧的差异来完成。
现在我想要不是每帧定义ref / delta信息,而是每个宏块(16x16像素)。为此,我需要确定宏块是否应该是ref或delta宏块。我应该根据这个决定做什么?理想情况下,我想选择能够提供更好压缩效果的那个,但是如何在不实际压缩两种模式下的宏块然后选择一个产生更好压缩比的情况下以智能方式决定这一点?
我现在能想到的唯一方法是计算宏块内像素差的总和,如果该和大于某个阈值,则将宏块分类为ref。否则达美。但这听起来不像是一个强有力的解决方案。