【译】颜色空间 REC.709 vs sRGB的

摘要:
但转换函数(gamma)不同。让我们先定义颜色空间。颜色模型和颜色空间非常混乱。RGB颜色模型表示所有颜色都可以通过RGB的线性组合获得,而颜色空间是指能够解析数值的颜色模型。颜色空间的定义包含以下信息。颜色空间可以基于RGB模型检测颜色,因此使用三原色来表示所有颜色似乎是合理的。三原色的颜色坐标与sRGB相同。

(原文link https://www.image-engineering.de/library/technotes/714-color-spaces-rec-709-vs-srgb, 欢迎指正)

如果你不关心背景知识的话,下面这句话或许足够了,HDTV(REC.709)和sRGB用的是一样的三基色,但是转换函数(gamma)不同。

颜色空间定义

感谢耐心的你,我们先来定义一下颜色空间。颜色模型和颜色空间非常容易搞混。在下文中,颜色模型是一个抽象的数学概念,用一个坐标系统代表颜色。例如,RGB颜色模型表明所有颜色都可以通过由RGB线性组合得到,而在印刷品种使用的CMYK模型则由4种主要颜色构成。颜色空间是指一个能够解析数值的颜色模型。颜色空间的定义包含以下信息,颜色模型,基色的坐标以及scaling信息,白点坐标和非线性转换(gamma)。

颜色空间是基于RGB模型能够检测颜色,物理研究表明,在人眼中存在三种能吸收不同光谱的锥细胞,因此人类能够感知颜色。所以使得用三种基色表示所有的颜色看起来是合理的。

三基色 RGB

RGB三基色在不同的标准中定义的不同。

对于高清环境,ITU-R推荐BT.709(REC.709),三基色的颜色坐标和sRGB相同,白点也是D65.到目前为止,sRGB和REC.709似乎完全相同。

【译】颜色空间 REC.709 vs sRGB的第1张

从CIE XYZ空间转换到sRGB可以有以下算式

【译】颜色空间 REC.709 vs sRGB的第2张

转换函数(gamma)

下面开始两个空间就有区别了。sRGB的转换函数和REC.709非常相似,但并不相同。在下式中,C表示线性输入颜色(可以是R,G或者B),C‘是输出颜色

【译】颜色空间 REC.709 vs sRGB的第3张

【译】颜色空间 REC.709 vs sRGB的第4张

两个转换函数都是分段函数,第一部分为线性函数,第二部分是指数函数。只不过在sRGB的时候,指数部分是2.4,而REC709的指数部分是2.2。

【译】颜色空间 REC.709 vs sRGB的第5张

【译】颜色空间 REC.709 vs sRGB的第6张

免责声明:文章转载自《【译】颜色空间 REC.709 vs sRGB的》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇H3C交换机如何配置管理VLANwindows下如何查看和修改MySQL的端口号下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Scala 学习之 aggregate函数

fold和reduce都要求函数的返回值类型需要和我们所操作的RDD类型相同,但是我们有时确实需要一个不同类型的返回值。eg: 在计算平均值时,需要记录便利过程中的计数以及元素的数量,这就需要我们返回一个二元组。可以先对数据使用map操作,来把元素转移为改元素和1的二元组,也就是我们希望的返回类型。这样reduce就可以以二元组的形式进行归约。 aggre...

PHP中define和defined的区别

PHP中define和defined的区别   对于初学者会混淆这两个函数1.define用来定义一个常量,常量也是全局范围的。不用管作用域就可以在脚本的任何地方访问常量。一个常量一旦被定义,就不能再改变或者取消定义如:  define("path","mlx1036@163.com")  define为常mlx1036@163.com为常量的值     2...

Linux下Socket的简单使用及最简化封装

Linux下Socket的简单使用及最简化封装 /** 文件功能: linux 下套接字简化操作函数* 文件名称: linux_socket.h* 建立时间: 2007 年 07 月 19 号* 创建作者: wlzqi* 使用语言: C 或 C++ 语言* 使用环境: Linux + Windows* 函数要求: *    + 函数相对比较底层*    +...

c++ Beep(发声函数)

c++ Beep(发声函数) Windows API 提供了一个奇妙的发音函数-Beep函数。Beep可以通过控制主板扬声器的发声频率和节拍来演奏美妙的旋律 Beep函数原型 BOOL Beep( DWORD dwFreq; DWORD dwDuration; ); dwFreq 指定要发出的频率(HZ) dwDuration 指...

二、vue响应式对象

Object.defineProperty Object.defineProperty 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象,先来看一下它的语法: Object.defineProperty(obj, prop, descriptor) obj 是要在其上定义属性的对象; prop 是要定义或修改的属性的...

集合与函数

变量用来记录状态的变化。 可变类型与不可变类型:修改变量的值,ID值不变,则为可变数据类型,如果修改变量的值,ID变了,则该变量为不可变类型。 1.不可变类型:字符串,数字,元组,用frozenset()创建的集合为不可变集合。没有add()等方法。 2.可变数据类型:列表,字典,集合 访问顺序分类: 1.顺序访问:字符串,列表,元组 2.映射:字典 3....