LUT原理
提到LUT,很多人可能都会觉得这是一个很专业很高深的词汇,LUT其实就是Look Up Table(颜色查找表)的缩写,简单点儿理解就是:通过LUT,我们可以将一组RGB值输出为另一组RGB值,从而改变画面的曝光与色彩。LUT文件就是一个包含了可以改变输入颜色信息的矩阵数据。LUT本身并不进行运算,只需在其中列举一系列输入与输出数据即可,这些数据呈一一对应的关系,系统按照此对应关系为每一个输入值查找到与其对应的输出值,这样即可完成转换,也是LUT基本不消耗CPU资源的原因。
1D LUT 和 3D LUT 的区别
LUT分为两种,一种是1D的,一种是3D的,即俗称的一维查找表和三维查找表。两者在结构上有着本质的区别,应用的领域也不同,二者的区别如下:
1D LUT的输入与输出关系如以下公式:
Rout=LUT(Rin) Rout = LUT(Rin) Rout=LUT(Rin)
Gout=LUT(Gin) Gout=LUT(Gin) Gout=LUT(Gin)
Bout=LUT(Bin) Bout=LUT(Bin) Bout=LUT(Bin)
该LUT输出的三个色彩分量仅与自身分量的输入有关,而与另外两个分量的输入无关,这种分量之间一一对应的关系就是1D LUT。对于10比特系统来说,一个1D LUT包含1024 x 3个10比特数据,总的数据量为1024 x 3 x 10=30Kbit,可见一个1D LUT的文件量是相当小的。1D LUT具有数据量小、查找速度快的特点。
3D LUT输人与输出关系如以下公式:
Rout=LUT(Rin,Gin,Bin) Rout=LUT(Rin,Gin,Bin)