帧间预测

H264/5编码中P帧与B帧能够大量的降低时间上的数据冗余,主要的依据为画面运动过程中的一致性

使用StreamEye/HEVC analyzer打开码流,查看P帧,为了容易理解,最好是选取参考帧为一个的码流,或者IDR后的第一个P帧,因为此时只有使用一个参考帧。

树状的块结构层次划分,可以用StreamEye/HEVC analyzer查看一下,能很容易地看到各个宏块/CTU的结构类型以及编码后划分的形状。

MV运动估计,MVD与MVP。可以用StreamEye/HEVC analyzer中查看每个part的Mv是多少,注意,因为运动矢量是以1/4像素为单位的,所以(4,8),实际代表偏移了(1,2)个像素。然后可以根据MV到上一帧找一下参考块的位置,然后比较一下参考块和预测块,看看两者是否近似(非整点情况)或相同(整点情况,比如Mv= (4,4))。

Mv的预测。找到当前块的A、B、C块,然后预测一下Mv,再看实际的Mv是多少。

自己可以根据Mv,找到参考块。自己实现写个插值程序,最后反计算出当前宏块的像素值。

注意,计算时应该使用只有一个参考帧的P做,否则涉及多参考帧的问题,找参考帧会比较麻烦。