首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运动矢量和DCT残差,它们是相关的还是独立的?

运动矢量和DCT残差,它们是相关的还是独立的?
EN

Stack Overflow用户
提问于 2015-01-16 14:41:49
回答 1查看 723关注 0票数 1

我正在研究一种新的技术,使用已经编码的H264运动矢量从一个预先编码的视频。

我需要知道运动矢量和残差是如何联系的。我需要一些其他地方找不到答案的非常具体的答案:

  1. 运动矢量是向前的还是向后的?我的意思是,向量是否表示当前的4x4或8x8,8x4 .块将位于下一个帧(前进)中。还是恰恰相反?(在块中指示该块来自何处),(向后)
  2. 在这种情况下,块有多个引用(我不知道这是否可能)。这些引用是如何加在一起的?刻薄?加权?
  3. 如何补偿每个块(4x8、8x4等)的残差?忽略子块,只将图像分割成8x8块?

我的最终目标,是从视频中得知每个运动矢量的“准确性”。我只能通过向后预测来做到这一点,如果DCT残值是每个块。在这种情况下,我可以通过测量该块的残差量来测量运动矢量估计的精度。

提前谢谢!!PD:在800页的H264中阅读并不容易.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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 )。这允许更容易地尝试不同的运动矢量:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27986375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档