什么是一 .jp2 文件?
JPEG 2000 (JP2) 是一种图像编码系统和最先进的图像压缩标准。它使用小波技术一次编码任何质量的无损内容。此外,在编码效率没有任何实质性损失的情况下,JPEG 2000 能够有效地访问相同的内容并将其解码为各种其他分辨率和质量。 JPEG 2000 中的码流具有显着的可扩展性,具有为空间随机访问提供便利的感兴趣区域。
JPEG 2000 是最具可扩展性的标准之一。可以使用不同的质量存储图像的不同部分。通过以多种方式对码流进行排序,可以实现显着的性能提升。然而,作为这种灵活性的结果,JP2 需要复杂且计算上具有挑战性的编码器/解码器。与 JPEG 相比,JPEG 2000 仅产生在图像边缘附近产生环并且可能模糊的振铃伪影,而 JPEG 使用 8×8 视觉伪影块,既可以是振铃伪影,也可以是块状伪影。拥有多达 16384 个不同的组件,尺寸以万亿像素为单位,精度可高达 38 位/样本。
历史 ##
2000 年,联合图像专家组委员会设计了 JP2,目的是通过这种新的基于小波的方法改进他们自己的基于离散余弦变换的 JPEG 标准。 JPEG 委员会的目标是免费提供他们的基准方法。在 JP2 许可证中,在 20 家公司的竞争中,他们以微弱优势获胜。 JPEG 2000 已被宣布为 ISO 标准,尽管自 2017 年以来大多数 Web 浏览器还没有准备好支持 JPEG 2000。
JPEG 2000 图像编码系统的部分##
以下是构成 JPEG 2000 全套标准的主要部分。
零件 | 标题 | 描述 | 编号 |
---|---|---|---|
第 1 部分 | 核心编码系统 | 定义码流的语法。解码 JPEG 2000 图像所涉及的不同阶段。解释要提供的基本文件格式 JP2、元数据和 IP 权利。 | ISO/IEC 15444-1 |
第 2 部分 | 扩展 | 定义文件格式码流的扩展并允许 HDR 示例演示、色彩空间规范、裁剪、几何变换;多种动画、元数据和多码流。 | ISO/IEC 15444-2 |
第 3 部分 | Motion JPEG 2000(MJ2 或 MJP2) | 为运动序列引入一种文件格式,在独立的码流中编码图像。 | ISO/IEC 15444-3 |
第 4 部分 | 一致性 | 说明编码和解码的测试技术,并检查裸码流和 JP2 文件的文件。 | ISO/IEC 15444-4 |
第 5 部分 | 参考软件 | 由两个源代码包(Java、C)组成,它们实现核心编码系统并在开源许可下可用。 | ISO/IEC 15444-5 |
第 6 部分 | 复合图像文件格式 | 定义 JPM 文件格式并允许多页文档图像用于类似传真的应用程序。支持使用 JBIG2 和 JPEG。 | ISO/IEC 15444-6 |
第 8 部分 | JPEG 2000 Secured (JPSEC) | 确保事务、内容和技术的安全性,并允许安全的 JPEG 2000 比特流。 | ISO/IEC 15444-8 |
第 9 部分 | JPIP | 定义网络环境中用于访问元数据和图像的工具,并声明交互式和高效协议 | ISO/IEC 15444-9 |
第 10 部分 | JP3D | 第 1 部分的体积扩展并介绍了 Z 尺寸。扩展了切片、代码块、区域和 3D 感兴趣区域可访问性功能的概念。 | ISO/IEC 15444-10 |
第 11 部分 | JPWL | 处理在容易出错的无线网络上组织良好的传输。此扩展与解码器兼容 | ISO/IEC 15444-11 |
第 13 部分 | 入门级编码器 | 定义核心编码系统的入门级编码器实现。 | ISO/IEC 15444-13 |
第 14 部分 | JPXML | XML 中的表示,并解释了标记段和访问图像内部数据的方法。 | ISO/IEC 15444-14 |
第 15 部分 | HTJ2K(开发中) | 指定替代块编码算法。算法提供了十倍的吞吐量和无损编码/解码。 |
JP2 文件格式##
JPEG 2000 以与 JPEG-1 相同的方式定义文件格式以及码流。尽管图像样本仅由 JPEG 2000 描述,但 JPEG-1 包含有关对图像进行编码必不可少的颜色空间和分辨率的其他附加信息。如果图像存储为 JPEG 2000 文件,则 .jp2 用作扩展名。 JPEG 2000 part-2 扩展进一步改进了这种文件格式,该扩展定义了动画机制和将众多代码流配置到一个图像中。当使用此扩展文件格式保存图像时,使用 .jpx 扩展名。由于码流数据不被认为主要保存在文件中,因此没有为此目的定义标准扩展名。尽管出于测试目的,它经常获得扩展名 .jpc 或 .j2k。与 JPEG-1 不同,JPEG 2000 选择了一种不同的方式以 XML 格式对元数据进行编码。标准 12234-1.4(由 ISO TC42 委员会制定)用作 Exif 标签和 XML 组件之间的参考。 JPEG 2000 可以包含一个 ISO 标准,其中 XMP。
块###
JPEG 2000 文件由连续的块组成。每个块有 8 个字节的头:4 字节块大小(大端,高字节优先)和 4 字节块类型 - 预定义签名之一:“jP"或“jP2"。
第二个块必须是“ftyp"类型,并且在偏移量 8 处有一个子类型。由子类型定义的 JPEG 2000 必须是以下值之一:“jp2"(文件类型 *.JP2)、“jp20"(文件类型 *.JPA)、“jpm"(文件类型 *.JPM)、“jpx"(文件类型 *.JPX)。
迭代块,直到检测到未知类型,我们组成 JPEG 2000 图像/视频文件。
###颜色变换###
最初,需要将图像从 RGB 颜色空间转换到另一个颜色空间。为此,有两种方法:不可逆颜色变换 (ICT) 和可逆颜色变换 (RCT)。前者使用 YC,,B,,C,,R,, 颜色空间,必须在固定/浮点中实现,而后来修改了 YUV 颜色空间,本质上是可逆的。////不限于 RGB 模型,JPEG 2000 语言使用多组件转换。
平铺###
完成颜色转换后,图像将转换为称为图块的矩形区域,可以分别进行转换和编码。所有图块的大小将相同,或者可以将整个图像视为一个图块。解码器利用平铺的优势并消耗更少的内存,或者可以对一些平铺进行部分编码。尽管这种技术具有图像质量下降的缺点。
###小波变换###
平铺后的图像经过小波变换,可以是不可逆的,也可以是可逆的,并通过使用卷积或提升方案来实现。
### 压缩率 ###
根据图像的物理特性,可以获得 20% 的压缩增益 JPEG 2000 的空间冗余预测在压缩过程中起着至关重要的作用,高分辨率图像往往会获得最大的优势。
标准服务的应用程序##
- 基于帧的高清视频的录制、编辑和存储
- 医学影像和生物识别
- 卫星图像、遥感和运动检测
- 客户端/服务器通信、网络分布和存储。
- 数字电影、实时高清电视馈送贡献、数字化视听资料