PicScrub logoPicScrub
返回格式列表

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 文件结构

TIFF Header
IFD0
EXIF IFD
SubIFDs
Raw Data
TIFF Header
8 字节
II/MM + 魔数 + IFD 偏移量
IFD0
500 字节
主图像目录
EXIF IFD
1000 字节
相机元数据
SubIFDs
500 字节
降分辨率的图像
Raw Data
长度可变
传感器数据

DNG 文件头

字节序(小端序)
TIFF 魔数(42)
IFD0 偏移量
OffsetHexASCII
0000
49492A0008000000
II*.....

DNG 专属标签

0xC612:DNGVersion
0xC614:UniqueCameraModel
0xC621:ColorMatrix1
0xC65A: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” + 版本号)
注意: CR3(佳能较新的格式)用的是和 HEIC 一样的 ISOBMFF 容器。

NEF(尼康)

基于 TIFF,通常是大端序(MM),带着大量装有尼康私有元数据的 Maker Notes。

字节序: 一般是大端序(4D 4D)

ARW(索尼)

基于 TIFF,带有索尼特有的改动。文件里有多个图像条带, 部分机型还用了私有加密。

其他格式

  • • ORF(奥林巴斯):基于 TIFF
  • • RAF(富士):自定义结构
  • • RW2(松下):基于 TIFF
  • • PEF(宾得):基于 TIFF

内嵌的 JPEG 预览图

有件事常常出乎意料:RAW 文件里通常带着完整的 JPEG 预览图。 相机生成它是为了让你在屏幕上快速回看,文件管理器也靠它来显示缩略图。

预览图为什么存在

  • • 相机屏幕:不用解 RAW 也能快速回看
  • • 缩略图:文件管理器里的预览
  • • 快速编辑:修图软件里初次加载更快

隐私方面要注意

内嵌的 JPEG 预览图往往带着和主图一样的 EXIF 元数据,其中就包括 GPS 坐标。 PicScrub 会连同主文件一起处理这些内嵌图片。

Maker Notes

Maker Notes 是相机元数据里的一片蛮荒之地。每家厂商想往这团数据里塞什么就塞什么, 格式还没有文档,有些甚至对其中一部分做了加密。

隐私隐患

  • • 相机序列号
  • • 镜头序列号
  • • 内部固件版本
  • • 快门次数
  • • 使用的对焦点
  • • 自定义设置

处理上的难点

Maker Notes 用的是没有文档的私有格式,有些还是加密的。 想彻底清除,就得先摸清每家厂商的格式。

各厂商的标签范围

厂商标签范围代表性标签
索尼0x7000–0x74C8SonyRawFileType, VignettingCorrection, DistortionCorrection
佳能0xC5E0CR2CFAPattern
尼康0xC7D5NikonNEFInfo
哈苏0xB4C3, 0xC51BHasselbladRawImage, HasselbladExif
松下0xC6D2–0xC6D3PanasonicTitle, PanasonicTitle2
Adobe DNG0xC612–0xC7A8DNGVersion, ColorMatrix, CalibrationIlluminant

PicScrub 如何处理 RAW

1

识别格式

检查文件头里的 TIFF 结构和各格式特有的签名

2

解析 TIFF 结构

顺着 IFD 链走,定位 EXIF、GPS 和 Maker Notes 的位置

3

处理内嵌的 JPEG

找出各种分辨率的 JPEG 预览图并清理干净

4

删除或清零元数据

删掉元数据标签,或者把它们的内容清零

5

保住原始数据

传感器数据以及必要的色彩/校准标签原封不动

会保留

  • • 传感器原始数据
  • • 色彩矩阵
  • • 相机校准数据
  • • 白平衡系数
  • • 有效区域定义

会清除

  • • EXIF 元数据
  • • GPS 坐标
  • • Maker Notes
  • • 内嵌 JPEG 的元数据
  • • 序列号

转成 DNG

如果你要分享 RAW 文件,又想把元数据清得干干净净, 可以考虑先转成 DNG。

推荐的流程

转成 DNG 会剥掉各家的私有结构,同时保留真正的图像数据:

  1. 用 Adobe DNG Converter(免费)转成 DNG
  2. 用 PicScrub 清除元数据
  3. 分享清理干净的 DNG 文件

这样一来,对方不需要私有软件就能打开文件,元数据也被清得干干净净。