YUV 色彩空间 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
loken2020
V2EX    程序员

YUV 色彩空间

  •  
  •   loken2020 2022-10-16 10:19:03 +08:00 1807 次点击
    这是一个创建于 1092 天前的主题,其中的信息可能已经有所发展或是发生改变。

    虽然日常生活中接触得比较多的是 RGB 色彩空间,但是还有另一种比较常用的色彩空间 是 YUV 。RGB 色彩空间更适合图像采集和显示,YUV 空间用于编码和存储则比较好。在存储和编码之前,RGB 图像要转换为 YUV 图像,而 YUV 图像在 显示之前通常有必要转换回 RGB 。

    这里显示的时候 YUV 转成 RGB 通常是硬件或者软件内部做了,我们写代码开发的时候 这个 YUV 转 RGB 显示到屏幕这个过程通常是透明的。

    无论是 RGB 还是 YUV ,他们都是 表达 色彩信息的一种方式。

    可以把 RGB 跟 YUV 色彩空间看成是 一个 xyz 轴 的立方形,一个三维的空间。

    首先,讲一下为什么会出现 YUV 色彩空间,这个涉及到 HVS ( Human Visual System )人类视觉系统 对 色彩空间的感知能力。

    视觉心理学研究表明,人的视觉系统对光的感知程度可以用两个属性来描述:亮度( luminance )跟 色度( chrominance ),这里的色度也叫做 饱和度或彩度,总之 色度的叫法有很多,要注意上下文来区分语义。

    然后 色度感知 包含两个维度:色调( Hue )和 色饱和度( saturation )。色调是由光波的峰值定义的,描述的是光的颜色。色饱和度是由光波的谱宽定义的,描述的是光的纯度。

    因此 HVS 对色彩的感知主要有 3 个属性:亮度( luminance ),色调( Hue )和 色饱和度( saturation )。也就是 YUV 色彩空间,Y 代表 亮度,U 代表色调,V 代表色饱和度。

    经过大量研究实验表明,视觉系统 对 色度 的敏感度 是远小于 亮度的。所以可以对 色度 采用更小的采样率来压缩数据,对亮度采用正常的采样率即可,这样压缩数据不会对视觉体验产生太大的影响。简单来说就是用更少的数据来表达 色度( chroma ),用更多的数据来表达 亮度( luminance )。

    https://ffmpeg.xianwaizhiyin.net/base-knowledge/raw-yuv.html

    10 条回复    2023-07-04 17:09:30 +08:00
    darer
        1
    darer  
       2022-10-16 10:27:17 +08:00
    楼主想表达些什么呢
    zhs227
        2
    zhs227  
       2022-10-16 12:01:02 +08:00   2
    看链接貌似是楼主写了一本书,粗略翻看了一下内容还不错。
    cpstar
        3
    cpstar  
       2022-10-16 12:18:48 +08:00
    Lab 算啥?
    iamzuoxinyu
        4
    iamzuoxinyu  
       2022-10-16 13:06:14 +08:00
    比较系统,但没什么新鲜东西…
    AyaseEri
        5
    AyaseEri  
       2022-10-16 13:11:07 +08:00   1
    如果我没记错的话,这里 YUV 产生的原因其实不准确
    loken2020
        6
    loken2020  
    OP
       2022-10-16 13:14:29 +08:00
    AyaseEri 您好,感谢指正,原本的描述确实不太准备。我优化了一下,为什么会出现 YUV 色彩空间,换成 为什么 YUV 色彩空间在音视频开发领域更加常用。
    cnbatch
        7
    cnbatch  
       2022-10-16 17:53:52 +08:00   1
    YUV 的出现(以及那一堆研究数据协助 YUV 的出现)其实单纯就是为了兼容黑白电视机,纯属不得已的妥协方案。
    由此开始的长达几十年的广泛使用,导致 YUV 反而成了惯用标准以至于成为事实标准,最终开发领域为了兼容性,也就不得不“更加常用”YUV 了。

    至于 YCbCr ,其实也是影音行业的习惯性延续。如果经历过上世纪 90 年代以及本世纪头 5 年,就会记得不少 VCD 和 DVD 影碟播放机都有三孔的色差分量接口输出,电视机也有三孔的色差分量输入,这个就是 YCbCr 。
    在当时,带有该接口的 VCD 播放机并不算多,而带有该接口的 DVD 播放机就多得多。直到蓝光碟片播放机的出现,色差分量接口才总算淘汰。
    VCD 和 DVD 用什么格式?没错,就是 MPEG 。VCD 用 MPEG-1 ,DVD 用 MPEG-2 。

    在制定 MPEG 早期标准的年代,YUV 大行其道,大多数显示设备(说的就是电视机)只认识 YUV 输入方式(单端口 RCA ,高级点的才会有 S-端子和刚才提到的色差分量接口),连 VGA 都没有。在当时,只有极少数显示设备(电脑用的彩色显示器)支持 RGB (采用 VGA 接口),在那个年代,电脑远不如电视机那么普及。
    如此环境,MPEG 的制定者只能又一次向现实妥协,继续沿用 YUV 。

    所以严格来说,“YCrCb 适用于计算机用的显示器”其实应该是“YCrCb 适用于 VCD 和 DVD 播放器”或者“YCrCb 适用于 MPEG 视频的记录与回放”。
    loken2020
        8
    loken2020  
    OP
       2022-10-16 18:02:08 +08:00
    @cnbatch 感谢 cnbatch 大神指点。
    BGLL
        9
    BGLL  
       2022-10-17 15:37:36 +08:00
    是的,现在新的标准在用 ICtCp
    archxm
        10
    archxm  
       2023-07-04 17:09:30 +08:00
    YUV 000 转为 rgb ,看看是什么颜色,
    知道为啥 n 卡流畅,但偏绿吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3046 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:34 PVG 08:34 LAX 17:34 JFK 20:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86