首页 > 解决方案 > 四分之一精度运动矢量是如何编码的

问题描述

我需要了解运动矢量是如何编码的,对于非整数精度(无论是四分之一像素、1/16 像素还是其他)

在代码中,运动矢量分量总是整数,但我不明白如何处理非整数精度。

例如,如果我的运动向量“实际值”是 (3.5, 2.75),那么如何获得代码中的“int”值,或者代码中 x 和 y 分量的值是 (114, 82)它具有四分之一像素精度,实际值是多少?

感谢您的帮助

标签: video-encodinghevc

解决方案


它们基本上被缩放为整数然后编码。例如,MV=2.75缩放到scaledMV=2.75x4=11. 请注意,为了能够解码整数 MV,它们也应该被缩放。例如,MV=1.0将成为scaledMV=4x1.0=4.0.

仅供参考,HEVC 的 MV 编码太复杂了,无法在这里解释。所以,我建议你看看这篇论文。


推荐阅读