尼康D70 NEF文件解读(二)映射曲线
在NEF文件中存储了两条曲线,比较有趣。
在MAKERNOTE中对应0x8C的Tag指向一个4160长的单字节数组(Tag的偏置值需要加上MAKERNOTE偏置量)。
这个数组的前64单元的含义还没搞清,而后面4096个单元则代表了一条将12位数值映射到8位数值的曲线:

我想很大的可能性这就是从RAW文件转换到JPEG时的映射曲线。因为要将12位的数据转换为8位,必然会损失一些信息。从图上可见,最亮部分和最暗部分的细节丢弃了,中间加上一个反差改正。从图上也可以看到如果拍摄JPEG照片,最好不要过曝。
另一条曲线与解码直接相关。
这条曲线的数据块由MAKERNOTE中对应0x96的Tag加上MAKERNOTE偏置量定位。
这个数据块由2字节整数构成,排列如下。
1)前2个字节忽略
2)4个整数,是RAW数据的起始偏置量,在解码时要用。
3)1个整数,表示数组长度,size=683
4)size个整数,对应一条曲线如下:

这条曲线揭示了D70的图像数字化的特性。D70的数字图像具备12位的动态范围,但同时只使用了683个值表示0-4095范围内的亮度,因此相当于9.5位的分辨率。
在RAW文件中所存储的共有683种不同的亮度值,然后要通过上面的曲线还原为线性的12位数值。这条曲线也可能对应实际的AD转换器。
|