RAW 格式
相机原始图像格式
概览
RAW 文件相当于数码时代的胶片底片,装的是未经任何处理的传感器原始数据。 这让它非常适合专业后期,但也意味着它带着大量关于你的相机和拍摄条件的元数据。
好消息是:大多数 RAW 格式都建在 TIFF 结构之上,只要懂了 TIFF, 大部分 RAW 文件你都能读懂。坏消息是:每家相机厂商都会加上自己的私有扩展。
开放标准
DNG(Digital Negative):Adobe 制定的、有公开文档的 RAW 格式
私有格式
CR2/CR3(佳能)、NEF(尼康)、 ARW(索尼)、ORF(奥林巴斯)
DNG(Adobe Digital Negative)
DNG 是 Adobe 想做出一个通用 RAW 格式的尝试,也是唯一有完整公开文档的一种。 如果你能选,DNG 是最好打交道的,因为规范是公开的。
揭开盖子看,它就是 TIFF,只是多了一些存放相机专属色彩数据的标签。 这让任何懂 TIFF 的工具都能轻松解析它。
DNG 文件结构
DNG 文件头
| Offset | Hex | ASCII | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 0000 | 49492A0008000000 | II*..... | |||||||
DNG 专属标签
0xC612:DNGVersion0xC614:UniqueCameraModel0xC621:ColorMatrix10xC65A:CalibrationIlluminant1完整支持 DNG
PicScrub 完全支持 DNG 文件。因为 DNG 用的是标准的 TIFF 结构, 我们可以用处理普通 TIFF 的同一套办法清除 EXIF、GPS 和其他元数据。
私有格式
麻烦从这里开始。每家相机厂商都有自己的 RAW 格式,虽然大多基于 TIFF, 但各有各的怪癖。社区已经把大部分逆向出来了,只是文档散落在各个项目里。
CR2(佳能)
基于 TIFF,带有佳能专属的 IFD,传感器数据用无损 JPEG 压缩。
49 49 2A 00 ... 43 52 02 00(II + “CR” + 版本号)NEF(尼康)
基于 TIFF,通常是大端序(MM),带着大量装有尼康私有元数据的 Maker Notes。
ARW(索尼)
基于 TIFF,带有索尼特有的改动。文件里有多个图像条带, 部分机型还用了私有加密。
其他格式
- • ORF(奥林巴斯):基于 TIFF
- • RAF(富士):自定义结构
- • RW2(松下):基于 TIFF
- • PEF(宾得):基于 TIFF
内嵌的 JPEG 预览图
有件事常常出乎意料:RAW 文件里通常带着完整的 JPEG 预览图。 相机生成它是为了让你在屏幕上快速回看,文件管理器也靠它来显示缩略图。
预览图为什么存在
- • 相机屏幕:不用解 RAW 也能快速回看
- • 缩略图:文件管理器里的预览
- • 快速编辑:修图软件里初次加载更快
隐私方面要注意
内嵌的 JPEG 预览图往往带着和主图一样的 EXIF 元数据,其中就包括 GPS 坐标。 PicScrub 会连同主文件一起处理这些内嵌图片。
Maker Notes
Maker Notes 是相机元数据里的一片蛮荒之地。每家厂商想往这团数据里塞什么就塞什么, 格式还没有文档,有些甚至对其中一部分做了加密。
隐私隐患
- • 相机序列号
- • 镜头序列号
- • 内部固件版本
- • 快门次数
- • 使用的对焦点
- • 自定义设置
处理上的难点
Maker Notes 用的是没有文档的私有格式,有些还是加密的。 想彻底清除,就得先摸清每家厂商的格式。
各厂商的标签范围
| 厂商 | 标签范围 | 代表性标签 |
|---|---|---|
| 索尼 | 0x7000–0x74C8 | SonyRawFileType, VignettingCorrection, DistortionCorrection |
| 佳能 | 0xC5E0 | CR2CFAPattern |
| 尼康 | 0xC7D5 | NikonNEFInfo |
| 哈苏 | 0xB4C3, 0xC51B | HasselbladRawImage, HasselbladExif |
| 松下 | 0xC6D2–0xC6D3 | PanasonicTitle, PanasonicTitle2 |
| Adobe DNG | 0xC612–0xC7A8 | DNGVersion, ColorMatrix, CalibrationIlluminant |
PicScrub 如何处理 RAW
识别格式
检查文件头里的 TIFF 结构和各格式特有的签名
解析 TIFF 结构
顺着 IFD 链走,定位 EXIF、GPS 和 Maker Notes 的位置
处理内嵌的 JPEG
找出各种分辨率的 JPEG 预览图并清理干净
删除或清零元数据
删掉元数据标签,或者把它们的内容清零
保住原始数据
传感器数据以及必要的色彩/校准标签原封不动
会保留
- • 传感器原始数据
- • 色彩矩阵
- • 相机校准数据
- • 白平衡系数
- • 有效区域定义
会清除
- • EXIF 元数据
- • GPS 坐标
- • Maker Notes
- • 内嵌 JPEG 的元数据
- • 序列号
转成 DNG
如果你要分享 RAW 文件,又想把元数据清得干干净净, 可以考虑先转成 DNG。
推荐的流程
转成 DNG 会剥掉各家的私有结构,同时保留真正的图像数据:
- 用 Adobe DNG Converter(免费)转成 DNG
- 用 PicScrub 清除元数据
- 分享清理干净的 DNG 文件
这样一来,对方不需要私有软件就能打开文件,元数据也被清得干干净净。