欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

color range问题总结 (附:色彩空间简介)

程序员文章站 2022-03-17 14:53:39
...

【音视频基础系列】
YUV格式简介
色彩空间简介(本文)


常见问题

color range处理不当会导致对比度变化。典型案例,ffmpeg中x265编码器对full range的支持没有x264那么好,在yuvj420p格式下会有问题。

先来看两个例子,左边的均为亮度正常的图片
color range问题总结 (附:色彩空间简介)

图1

color range问题总结 (附:色彩空间简介)
图2

例1:对比度降低,所谓的过曝问题(也出现在姚冬 - 曝光过度),比较常见,没有正确处理full range输入造成。直观上描述:暗色部分发白,白色区域变暗,红色部分也没有那么鲜艳。
例2:对比度增大,与例1刚好相反。

解决方案与对比

针对full range和limited range的输入,ffmpeg下的解决方案,试罗列三种。实现与区别分别如下:
1. -color_range jpeg
2. vf="scale=range=full" + -x265-params range=full
3. 需要判断输入,如果range=tv,不用额外处理;如果range=pc,按照1或2进行转换。(3比较合理)

color range

full    range      [0, 255]
limited range    Y [16,235]
                 UV[16,240]

full range,(aka “jpeg”, “pc”, “cg”, “high rgb”)
limited range,(aka “mpeg”, “tv”, “broadcast”, “low rgb”)

In broadcast environment levels from 1 to 254 are available for video, levels 0 and 255 are used exclusively for SDI interface synchronization. 常见的full range使用范围是[1, 254]

color range问题总结 (附:色彩空间简介)
图3. limited range各分量(rgb,yuv)的取值范围及对颜色信号模拟的。

color range问题总结 (附:色彩空间简介)
图4. full range 与 limited range的转换 范围clip表

color space 基础

例3:
color range问题总结 (附:色彩空间简介)

图5. FFprobe信息

ffprobe的视频基础信息中:yuvj420p(pc): yuvj420p 是pixel format; pc 是range(很多视频可能不填range信息)。

1.pixel format

2.color range

参上一节
AVFrame->color_range

3.transfer characteristics

RGB线性转换:gamma校正
AVFrame->color_trc

4.color primaries

线性RGB转换通用色彩空间:涉及色域映射等。
AVFrame->color_primaries

5.color matrix

YUV与RGB之间的转换矩阵。标准进行转换的规定。
AVFrame->colorspace

color range问题总结 (附:色彩空间简介)
图6. 常用标准中的 RGB - YUV转换公式

详见以下标准:
Bt.601 Studio encoding parameters of digital television for standard 4:3 and wide-screen 16:9 aspect ratios SD
Bt.709 Parameter values for the HDTV standards for production and international programme exchange HD
Bt.2020 Parameter values for ultra-high definition television systems for production and international programme exchange UHD-SDR
Bt.2100 Image parameter values for high dynamic range television for use in production and international programme exchange UHD-HDR HD-HDR