2解码端:最终数据=残差的反变换结果值+预测值=(编码端原图-编码端预测)+基于重构得到的数据
试想如果编码端的采用前一帧原图做参考,那么在编码端:编码端预测=前一帧原图
则在这样的情况下解码端的最终数据=残差的反变换结果值+预测值=(编码端原图-编码端预测)+基于重构得到的数据=(编码端原图-前一帧原图)+基于重构得到的数据
从这里可以看出,一部分是前帧原图,另一部分是重构得到的数据,很明显不适配
而如果编码端采用重构,那么在编码端:编码端预测=基于重构得到数据
则在这样的情况下解码端的最终数据=残差的反变换结果值+预测值=(编码端原图-编码端预测)+基于重构得到的数据=(编码端原图-基于重构得到数据)+基于重构得到的数据=编码端原图(不考虑量化失真)
总的说来,编码端采用原图也可以做。但是我个人估计(因为没做验证)采用原图做之后解码端得到的最终数据因为存在上述不适配问题,其解码出的效果反而不如编码端使用重构的效果好。
其实也就是数据适配的问题。因为解码端的“预测值”那一部分必然是解码端基于前一帧的重构得到的,所以就决定了解码端“残差反变换结果”那一部分(也就等于编码端残差)在编码端的时候也必须是基于重构前一帧得到,但如果直接通过原图得到就产生了数据失配。而数据失配的结果是难以预料和控制的。
[align=right][color=#000066][此贴子已经被作者于2005-11-1 13:56:33编辑过][/color][/align]