【问题标题】:How does H264 inter prediction fills the prediction block old position?H264帧间预测如何填充预测块旧位置?
【发布时间】:2017-03-03 04:53:52
【问题描述】:

以我的理解(很简单的观点),H264标准的帧间预测(运动估计/补偿)首先在参考帧上找到最佳匹配块,然后用运动向量进行编码(有效的新 X 和 Y)和残差(预测与现实)。

但解码器如何知道如何填充预测块之前所在的旧空间?我假设残差是从它的新位置计算的,在块级别上,而不是在帧级别上。

假设编码器决定使用帧间预测来编码以下两个图像,它计算球应该在哪里(它的新位置和剩余能量)但是它如何填充旧空间?

【问题讨论】:

    标签: encoding compression h.264 prediction video-codecs


    【解决方案1】:

    Motion compensation 只是帧编码的优化。如果我们谈论运动矢量,这就是维基百科中定义的“块运动补偿”:

    块运动补偿将当前帧分成不重叠的块,运动补偿向量告诉这些块来自哪里(一个常见的误解是前一帧被分成不重叠的块,而运动补偿向量告诉这些块移动到哪里)。源块通常在源帧中重叠。一些视频压缩算法将当前帧组合成几个不同的先前传输的帧。

    所以,运动矢量不是“从旧帧移动块”,它是当前帧的宏块的(内部)编码,当一些块从旧帧复制一些小的移位时(一些块可以从前一帧复制到当前帧多次;大多数块是用零运动矢量复制的)。理论上我们可以通过宏块对新帧进行编码,但是在运动补偿的帮助下,我们可以从先前的帧中获取大量图像信息并减少编码。未补偿的部分图像用图像宏块编码。

    来自“Big Buck Bunny”免费电影的other Wikipedia page 示例:

    Frame with motion vectors displayed, dots are zero vectors

    Residual image after motion compensation to be encoded

    在 H.264 中对编码/解码过程进行了很好的描述,但在俄语中:http://www.compression.ru/dv/course/compr_h264.pdf(来自http://www.compression.ru/video/ 站点)

    以及运动补偿的英文描述:http://inst.eecs.berkeley.edu/~ee290t/sp04/lectures/02-Motion_Compensation_girod.pdf(预测误差被编码,全新的图像将几乎完全错误预测。背景图像的信息频率较低,很可能会被附近的一些背景进行运动补偿块。)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 2019-05-20
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    相关资源
    最近更新 更多