一觉醒来索尼发布了a7m5 16bit照片raw输出

一觉醒来索尼发布了a7m5 16bit照片raw输出

在两个月之前,我给出了第一个索尼开源高质量有损压缩raw简称CRHQ的解码器,也就是现在Libraw中的版本;昨天索尼发布fx5的时候他说支持输出16bit的raw视频,是x-ocn LT格式的,所以我例行去给他写了个解码。我一打开发现很熟悉啊,这就是CRHQ,只是压缩了激进一点的CRHQ。经过了极少量的改动,我的CRHQ解码器就完全兼容了fx5的16bit raw视频码流。那么问题就来了:fx5是真的16bit raw吗?那我用a7m5不也可能输出有损压缩的16bit raw了么?a7m5的CRHQ输出模式是16bit的吗,fx5输出的16bit又是假的吗?而真相恰恰介于这二者之间。

我们先来谈一下这个压缩的raw是怎么回事吧。

通过raw我们可以反推他的编码端,是把原始数据通过一个15.25bit-12bit的查找表,压到一个12比特的码值 域。实际这个LUT对应线性光大于零的部分只用了15bit。这个查找表的低端是线性的,高端逐渐拉开:

LUT[0] = 0
LUT[512] = 512
LUT[1024] = 1024
LUT[1427] = 1427
LUT[2048] = 2469
LUT[3072] = 8848
LUT[3991] = 33415
LUT[4095] = 39002

做完映射之后就是一个12bit的rggb raw了。此时如何处理这个rggb raw图像呢?一个rggb图像是四个半分辨率平面组成的,但是索尼不直接拆。索尼把rggb首先拆绿平面,把每个格子中的右上角的G1和左下角的G0作为一组,先把G0减去他周围的G1的平均值作为ΔG平面,表征G信号内部的细节;然后再输出一个计算复杂的低频的绿色基底平面。接下来用红和蓝通道分别对绿平面做差分,如此总共是四个平面。四个平面中绿色基底平面和两个差分平面都会经过多级小波分解,具体来说是5-3lifting,就是低通五样本高通三样本的可逆小波。最终对稀疏系数做分组和变长编码,形成LLVC3码流。

然后来到你们最关心的问题,索尼a7m5以及a7r6你从高质量有损压缩中,是否可以还原出高于14bit的信息?我的回答是:有这个迹象。a7m5和a7r6的有损压缩就是有一个15bit的暗部精度的迹象。这张图当然不够严谨,也无法直观展示这是否是量化伪影,不过可以充分证明这二者是有差异的。fx5我也检查过了,因此我的回答是,a7m5和a7r6和fx5,都可以通过开启craw hq编码或者开启raw录制的模式,来获得直方图中看上去略微超过15bit的图像读出信号。

最后的最后,你有意义去为了这一部分细节来使用crawhq而不是来拍摄吗?答案很明确,你没有任何意义去追求这部分细节。因为此时的读出噪声,比如a7m5在最低感处,已经超过了我在这篇文章中给出的阈值。感兴趣的可以提前看看我这篇《输出位深相关的图像低阶信号统计》,或者等我过两天的视频中给你们展示二值半调的例子来说明为什么直方图的细节不是有用的细节,而且低bit在何种程度上可以用堆栈来无损回归到高位深。我也会详细跟你们说什么时候、怎样的位深在信号上是有价值的,怎样的位深在感知上是有价值的。

编辑于 2026-07-24 · 著作权归作者所有