【问题标题】:Accurate YUV 10 bits to 8 bits conversion准确的 YUV 10 位到 8 位转换
【发布时间】:2014-11-06 09:54:49
【问题描述】:

我有来自相机的 YUV422 10 位 SDI,我需要将它准确地转换为 8 位。 我可以只右移 2 位,还是不好?

有很多信息:http://en.wikipedia.org/wiki/YUVhttps://ru.wikipedia.org/wiki/YCbCr 但没有完全清楚。

【问题讨论】:

  • 您可以,但请确保正确提取那些 10 位值。
  • 是的,但我将 8 位 YUV420 发送到视频编码器,标准解码器和播放器(如 VLC)将执行回转换为 RGB。
  • 玩家不一定需要转RGB。无论如何,这是他们的职责,您只需要正确剥离两个最低位即可。
  • 事实上,“Y”的最小允许值对于 10 位是 64,对于 8 位是 16,这表明截断位足够正确。

标签: colors yuv sdi


【解决方案1】:

对于 8 位:Y 范围为 [16..235],U/V 范围为 [16..240]

对于 10 位:Y 范围为 [64..940],U/V 范围为 [64..960]

因此,将每个分量值向右移动 2 位将提供正确的黑白点转换:64==>16、940==>235 和 960==>240。中间值也会正确转换。

【讨论】:

  • 为了正确舍入,在移位前加 2:b = (a+2) >> 2。示例:7 >> 1 = 17.0/4.0 = 1.75round(7.0/4.0) = 2.0(7+2) >> 2 = 2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 2012-10-11
  • 2011-08-23
  • 1970-01-01
  • 2016-01-03
  • 2013-09-29
相关资源
最近更新 更多