video-encoding - 四分之一精度运动矢量是如何编码的
问题描述
我需要了解运动矢量是如何编码的,对于非整数精度(无论是四分之一像素、1/16 像素还是其他)
在代码中,运动矢量分量总是整数,但我不明白如何处理非整数精度。
例如,如果我的运动向量“实际值”是 (3.5, 2.75),那么如何获得代码中的“int”值,或者代码中 x 和 y 分量的值是 (114, 82)它具有四分之一像素精度,实际值是多少?
感谢您的帮助
解决方案
它们基本上被缩放为整数然后编码。例如,MV=2.75
缩放到scaledMV=2.75x4=11
. 请注意,为了能够解码整数 MV,它们也应该被缩放。例如,MV=1.0
将成为scaledMV=4x1.0=4.0
.
仅供参考,HEVC 的 MV 编码太复杂了,无法在这里解释。所以,我建议你看看这篇论文。
推荐阅读
- sql - ActiveRecord - Query with Condition of Last Element in Association
- angular - 在路由解析器中使用订阅
- python - Why are some html tags invisible when scraping?
- linux - How can I access or enumerate available LEDs from kernel code (BeagleBone Black)?
- mysql - How to JOIN the same table with itself using ORDER BY RAND()?
- php - How to get expiration datetime of items using Symfony's cache Component?
- vba - 如何在 VBA MS Project 中获取单元格的值
- python - 在 jupyterlab 中使用 selenium 编写并运行代码单元
- ldap - LDAP 用户无法登录 Mediawiki
- ios - How to select tab bar item without selecting it