JFIF - JPEG File Interchange Format

什么是 JFIF - JPEG 文件交换格式?

JPEG 文件交换格式 (JFIF) 是一种图像文件格式,它为基本 JPEG 格式添加了额外的功能。它在某些技术标准下得到认可,但基本上,它比原始 JPEG 格式更好地处理分辨率、宽高比和颜色等问题。尽管它不是第一个 JPEG 标准,但它仍然被广泛使用并标记为“image/jpeg”。需要注意的一点是,JFIF 无法很好地与一种称为 Exif 的新格式配合使用,这种格式通常用于现代数码相机。

JFIF 如何增强 JPEG

JFIF 修复了什么JFIF 填补了基本 JPEG 标准未涵盖的一些空白。

  • 对齐图像组件:JPEG 允许图像的不同部分(如颜色通道)具有不同的分辨率,但没有解释如何对齐它们。 JFIF 通过确保所有内容正确对齐以使图像看起来正确来解决此问题。
  • 处理分辨率和纵横比:JPEG 不处理分辨率或纵横比细节。JFIF 使用文件中的特殊部分添加此信息,从而轻松识别 JFIF 文件。但是,许多数码相机(使用 Exif)跳过此部分。
  • 定义颜色处理:JPEG 没有指定如何管理颜色,但 JFIF 指定了。它使用一种称为 YCbCr 的颜色模型来处理彩色图像,并确保充分利用所有颜色级别,从黑色到白色。这与旧的电视标准不同。您可以通过嵌入额外的颜色信息(如 ICC 配置文件或 sRGB 标签)来提高 JFIF 图像中的颜色准确性。

JIFF - 文件格式结构

JFIF 文件由称为标记的不同部分组成。每个标记都以一个特殊代码(FF 后跟另一个代码)开头,该代码指示标记的类型。大多数标记后面还有一些额外的数据。标记就像指令一样,有助于定义图像。

  • 基本标记结构: 标记如下所示:FF xx s1 s2 [数据字节]s1s2 部分合在一起表示数据部分的长度。

  • 使用 APP 标记: 应用程序可以使用称为 APP 标记的特殊标记添加自己的自定义数据。JFIF 定义了两种类型的 APP 标记:

  • JFIF APP0 标记: 这是强制性的,必须紧跟在图像开始之后。它包含有关图像的重要信息。

  • JFIF 扩展 APP0 标记(可选): 这可以跟在 JFIF APP0 标记之后,并允许使用额外功能,例如嵌入缩略图。

JFIF 文件的结构: JFIF 文件通常包括以下部分:

  1. SOI(图像开始): 标记图像的开始。
  2. JFIF-APP0: 包含重要的图像细节,如分辨率和纵横比。
  3. JFXX-APP0(可选): 可以以不同的格式(JPEG、调色板或 RGB)存储缩略图。
  4. 其他标记段: 这些可能包括注释或更详细的图像数据。
  5. SOS(扫描开始): 标记实际图像数据的开始位置。
  6. 压缩图像数据: 这是图像的主要部分。
  7. EOI(图像结束): 标记图像的结束。

JFIF APP0 标记段: 此部分是必需的,提供有关图像的详细信息,如其分辨率和可选缩略图。

  • APP0 标记: 标识此部分。
  • 长度: 说明此部分的长度。
  • 标识符: 将该部分标记为 JFIF。
  • 版本:显示 JFIF 版本。
  • 密度单位和像素密度:定义图像的分辨率。
  • 缩略图数据:(可选)包含图像的小版本。

JFIF 扩展 APP0 标记段:此可选部分添加了更多功能,例如缩略图的不同格式。

  • 缩略图格式:指定缩略图使用的格式(JPEG、调色板或 RGB)。
  • 缩略图数据:包含缩略图,具体取决于格式。

简而言之,JFIF 文件由各种标记构成,这些标记定义从图像细节到可选缩略图的所有内容,以确保正确显示图像。

JFIF 和 Exif 如何交互及其兼容性问题

JFIF 和 Exif 都是用于图像的格式,但它们不能完全协同工作。这是因为两者都希望其特定部分(JFIF 的 APP0 和 Exif 的 APP1)位于图像开始之后。但是,许多相机和程序只包含这两个部分,大多数图像查看器仍然可以很好地处理它。但是,如果软件制作不精良,则可能无法读取图像。

JFIF 可以很好地与 Adob​​e Photoshop 的 JPEG 扩展和 IPTC 元数据配合使用,这些扩展和元数据会向图像添加额外信息。Photoshop 的扩展不需要是文件的第一部分,因此它们适合 JFIF。但是,Photoshop 有时会以不遵循 JFIF 规则的其他格式(如 CMYK)保存图像。这些文件可能无法在需要标准 JFIF 文件的 Web 浏览器或其他程序中正确打开。

JFIF:简史

JFIF 格式的开发由 C-Cube Microsystems 的 Eric Hamilton 领导。JFIF 的第一个版本是在 1991 年底与来自不同科技公司的大约 40 名代表的一次会议上达成一致的。不久之后,进行了一次小更新,产生了 JFIF 1.01。最新版本 1.02 于 1992 年 9 月 1 日发布,并在近 20 年内保持最新状态。

1996 年,制定了一项规则 (RFC 2046),规定通过互联网发送的 JPEG 图像应使用 JFIF 格式,MIME 类型为“image/jpeg”。但是,即使不符合 JFIF 标准,大多数互联网程序仍然可以解码基本的 JPEG 图像,只要它们使用 Y 或 YCbCr 等常见颜色成分即可。

随着时间的推移,C-Cube 发生了变化,最终分裂成几家公司,对维护 JFIF 文档失去了兴趣。到 2009 年,为了保存它,Ecma International 和联合图像专家组 (ITU-T/ISO/IEC) 接管了它。他们于 2009 年正式发布了它,以确保它不会被遗忘。后来,ITU-T 于 2011 年对其进行了标准化,ISO/IEC 于 2013 年对其进行了标准化。这些新版本主要进行了编辑改进,但技术细节保持不变。

常见问题解答

什么是 JFIF?

JFIF(JPEG 文件交换格式)是一种 JPEG 文件格式,其中包含额外的元数据,以确保跨不同设备和软件的兼容性。与标准 JPEG 相比,它不会影响图像质量。

为什么我的 JPEG 是 JFIF?

您的 JPEG 可能被标记为 JFIF,因为 JFIF 是 JPEG 图像的通用格式,其中包含特定的元数据以实现更好的兼容性。许多 JPEG 文件使用 JFIF 标头来确保它们在各种平台上正确显示。

JFIF 比 JPEG 好吗?

JFIF 和 JPEG 之间的图像质量没有区别。JFIF 本质上是 JPEG 的变体,添加了元数据以实现兼容性。

如何在 Android 上查看 JFIF 文件?

  1. 图库应用:大多数现代 Android 设备都可以在默认图库应用或 Google Photos 中直接打开 JFIF 文件。

  2. 文件管理器应用:使用文件管理器应用(如 Google Files)来查找并打开 JFIF 文件。

  3. 图像查看器应用:从 Google Play 商店下载支持 JFIF 文件的第三方应用,例如照片查看器或 Xodo PDF 阅读器和编辑器。

如何打开 JFIF 文件?

  1. 图像查看器:使用内置工具(如 Windows 照片查看器或 macOS 预览)。

  2. 图像编辑器:Adobe Photoshop、GIMP 或 Paint.NET 等软件可以打开和编辑 JFIF 文件。

  3. Web 浏览器:将 JFIF 文件拖放到 Web 浏览器(例如 Chrome、Firefox)中以查看图像。

  4. 转换工具:使用在线转换器或软件工具将 JFIF 文件转换为更常见的格式,如 JPEG 或 PNG。

如何将 JFIF 转换为 JPG?

  1. 在线转换器:使用 Convertio 或 Online Convert 等网站上传文件并选择 JPG 作为输出格式。
  2. 图像编辑器:在 Photoshop 或 GIMP 等软件中打开 JFIF 文件并将其保存或导出为 JPG。
  3. 内置工具:使用 Windows Paint 或 macOS Preview 打开并将文件保存为 JPG。

如何将 JFIF 转换为 PDF?

  1. 在线转换器:Smallpdf 或 ILovePDF 等网站可以将 JFIF 文件转换为 PDF。上传文件并下载 PDF。
  2. 图像编辑器:使用 Adob​​e Photoshop 或 GIMP 等软件打开 JFIF 文件并将其导出或保存为 PDF。
  3. 内置工具:在 Windows 上,在 Paint 中打开 JFIF 文件并使用“Microsoft Print to PDF”作为打印机。在 macOS 上,在 Preview 中打开文件并选择文件 > 导出为 PDF。

如何将 JFIF 转换为 PNG?

  1. 在线转换器:Convertio 或 Online Convert 等网站允许您上传 JFIF 文件并选择 PNG 作为输出格式。
  2. 图像编辑软件:在 Adob​​e Photoshop 或 GIMP 中打开 JFIF 文件并将其导出或保存为 PNG。
  3. 内置工具:使用 Windows Paint 或 macOS Preview 打开并保存或导出文件为 PNG。

另请参阅