我正在研究一种新的技术,使用已经编码的H264运动矢量从一个预先编码的视频。
我需要知道运动矢量和残差是如何联系的。我需要一些其他地方找不到答案的非常具体的答案:
我的最终目标,是从视频中得知每个运动矢量的“准确性”。我只能通过向后预测来做到这一点,如果DCT残值是每个块。在这种情况下,我可以通过测量该块的残差量来测量运动矢量估计的精度。
提前谢谢!!PD:在800页的H264中阅读并不容易.
发布于 2015-03-08 05:21:34
H264标准是你的朋友。还可以从Ian Richardson那里得到一些比标准更易读的书籍(但只有一点:)
“运动矢量是向前的还是向后的?”--它们是向后的。块的MV指向该块的来源。
“在这种情况下,一个块有多个引用(我不知道这是否可能)。这些引用是如何加在一起的?”--可以查看x264的加权选项和加权选项。可以有最多两个引用,显式权重是在流中编码的(我认为是来自相邻权重的增量,所以通常是零--但不要引用我的话;我还认为是否使用权重是某个地方的标志,如果不使用,默认情况下权重是相等的)。
“如何补偿残差”-取决于宏块分区模式和转换大小。MVs用于每个分区,剩余部分用于将转换大小平铺到分区中(因此,如果将16x16划分为两个16x8,而转换为8x8,则每个分区得到两个转换;如果转换为4x4,则每个分区得到(16/4)x(8/4)=8转换)。
对于实验,您可以更改编码器设置以关闭B帧和加权P帧,还可以将分区模式限制为不分区(即仅限16x16 )。这允许更容易地尝试不同的运动矢量:)
https://stackoverflow.com/questions/27986375
复制相似问题