本文主旨
- 分别介绍两种算法的核心特点、压缩倍数范围、典型应用场景及 FPGA 资源差异。
- 横向对比两者在延迟、画质、压缩效率、部署成本等维度的优劣。
- 给出清晰的选型指南——根据实时性要求、压缩比需求、硬件预算等,快速确定应选择哪一种算法。
本文围绕 JPEG XS 与 JPEG 2000 两种图像编解码算法展开分析。二者均可运行于 FPGA 并以 IP 形式交付,但设计哲学、压缩效率、资源占用及适用场景差异显著。作为 FPGA IP 供应商,客户常有选型困惑:“这两者到底有什么区别?我的项目该用哪一个?”
一、设计原理与性能差异
要理解 JPEG XS 与 JPEG 2000 的性能差异,首先需要从两者的编码架构入手——二者虽然都基于离散小波变换(DWT),但设计目标完全不同:JPEG XS 是为“超低延迟、极低资源”而生的夹层编码;JPEG 2000 则为精准的码率分配而生——靠全图率失真最优,在同等压缩比下榨出最高画质。
1.1 JPEG XS——为“快”而生
- 小波分解级数:垂直方向仅支持 0~2 级分解(常用 1~2 级,Subline 模式为 0 级),水平方向最多 5 级。垂直分解级数少,只需缓存少量行数据大幅节省 BRAM,实现行级延迟。
- 编码粒度(Precinct):每个 Precinct 对应原始图像中的若干行(典型 2 行)。码率控制器在每个 Precinct 内独立调节量化步长,输出恒定码率(CBR),延迟极低,硬件简单;但码率分配缺乏全局协调。
- 熵编码:比特面计数,将 4 个系数为一组编码,极简设计,资源极低,但压缩效率有限。
- 码率控制:局部、粗略分配,每个 Precinct 独立定长,无需等待整帧,延迟 ≤32 行;缺点:不同区域复杂度差异大时,复杂区损失明显、简单区码率过剩甚至填充数据以保恒定。这种线级恒定码率特性使 JPEG XS 非常适合 SMPTE ST 2110 等需要实时 CBR 传输的 IP 化制作场景。
- 外部内存需求:基线配置(High/Light/Main 等)无需外部 DDR,仅用内部 BRAM 即可工作。但第 3 版 TDC Profile 因需压缩帧缓冲(FBB)实现帧间预测,需要额外 DDR 存储参考帧。
1.2 JPEG 2000——为“画质”而生
- 小波分解级数:水平和垂直均可支持 3~6 级甚至更高,频域分解更彻底,压缩效率更高;但 BRAM 使用量大且 band 之间的调度逻辑复杂。
- 编码粒度(Code-Block):以 Code-Block(如 32×32、64×64)为熵编码单元,可并行处理。小波变换与编码可流水进行,无需等待整帧变换完成。
- 熵编码:EBCOT + MQ 算术编码,上下文建模与算术编码复杂,逻辑资源多,时序收敛困难,但压缩效率高。
- 码率控制:后压缩率失真优化(PCRD-opt),整帧范围内为各码块搜索最优截断点,在给定码率下最小化全图总失真,使 PSNR 最大化。JPEG 2000 本身不具备恒定码率(CBR)控制机制,编码输出是变码率(VBR)码流。
- 外部内存需求:始终需要外部 DDR,用于存储整帧小波系数、码块编码中间结果及率失真优化所需信息。
二、核心特性总览
| 维度 | JPEG XS | JPEG 2000 |
|---|---|---|
| 定位 | 夹层编码,替代无压缩视频,超低延迟+低复杂度+视觉无损 | 高保真静止图像压缩,支持无损/有损,纯帧内编码 |
| 压缩倍数范围 | 典型 2:1~10:1(视觉无损);第 3 版 TDC Profile 最高 20:1(图形类内容经 Flawless Imaging Profile 可达约 36:1) | 数学无损约 2~3:1;典型图像 15:1 时仍视觉无损,50:1 以内仍保持良好画质 |
| 延迟 | ≤32 行(编码+解码合计,对应 <1ms) | 约 1~1.5 帧(典型 20ms,可优化至 8.5ms);纯帧内、无 GOP 缓冲,远低于 H.264 等帧间编码 |
| 视觉质量 | 视觉无损(典型 10:1 以内),ISO/IEC 29170-2 定义 | 典型图像 15:1 以内视觉无损;相同压缩比下 JPEG 2000 PSNR 更高 |
| 数学无损支持 | 支持。第 2 版 MLS 配置文件,像素级完美重建 | 原生支持。Part1 核心即支持无损(5/3 小波) |
| 帧间压缩支持 | 原生支持(第 3 版 TDC Profile),小波域帧间预测 | 标准不支持,但北格逻辑 FPGA IP 扩展实现了帧间压缩 |
| Profile 配置体系 | 共 18 个 Profile:High、MLS、TDC、Light/Main、RAW Bayer 等 | 多个 Part(Part1 核心,Part2 扩展等) |
| 外部内存需求 | 基线无需 DDR;TDC Profile 需 DDR(帧缓冲) | 始终需要 DDR |
| 码率控制特性 | 线级 CBR,适合 SMPTE ST 2110 | 无内置 CBR,输出 VBR 码流 |
| 编解码对称性 | 基本对称 | 不对称 |
| 专利费用 | Vectis IP 专利池(FRAND) | Part1 核心免收专利费 |
| 软件支持情况 | FFmpeg 8.1、GStreamer、intoPIX SDK、Intel SVT-JPEG-XS、Adobe Premiere 插件 | OpenJPEG、FFmpeg、ImageMagick、Photoshop 插件、macOS 预览等 |
| 核心优势 | 资源最低、延迟最低、多代稳健、基线无 DDR | 压缩效率最高、低延迟、支持无损/ROI/渐进式传输 |
| 核心局限 | 压缩比高于约 10:1 后画质下降明显;数学无损模式压缩比有限(约 2:1) | FPGA 资源大、需外部 DDR |
三、关键技术参数
3.1 JPEG XS 可调参数
| 参数类别 | 说明 |
|---|---|
| 小波变换类型 | 固定使用 LeGall–Tabatabai (LGT) 5/3 整数可逆小波 |
| 小波分解级数 | 水平最高 5 级,垂直最高 2 级,直接影响延迟(约 5~32 行) |
| 编码粒度(Precinct) | 每个 Precinct 对应原始图像中的若干行(典型 2 行) |
| 熵编码 | 比特面计数(Bitplane Counting) |
| 码率控制 | 局部恒定码率(CBR),端到端延迟 ≤32 行 |
| Profile 选择 | High、Light、Main、MLS、TDC、RAW Bayer 等 |
| 切片大小 | 可配置(典型 16 行/片) |
| 颜色空间转换 | 支持 RCT 以及针对 Bayer RAW 的 Star-Tetrix 变换 |
| 压缩比配置 | 范围 1/2 ~ 1/20 |
3.2 JPEG 2000 可调参数
| 参数类别 | 说明 |
|---|---|
| 小波变换类型 | 支持 5/3 整数(无损)和 9/7 浮点(有损) |
| 小波分解级数 | 可配置 1~5 级或更高 |
| 编码块大小(Code-Block) | 支持 8×8、16×16、32×32、64×64 等 |
| Tile 大小 | 支持将图像分割为独立的 Tile 进行并行编码 |
| 质量层数量 | 可配置(如 25 层),支持渐进式传输 |
| ROI 编码 | 原生支持感兴趣区域编码 |
| 熵编码 | EBCOT + MQ 算术编码 |
| 码率控制 | 后压缩率失真优化(PCRD-opt),输出 VBR 码流 |
| 渐进式传输 | 支持分辨率渐进、信噪比渐进、位置渐进 |
四、典型配置下的 FPGA 资源对比
本节以 4096×2160@60fps,RGB 8-bit 为典型配置,数据基于北格逻辑 IP 实测值(JPEG XS 为 Main Profile 基线版本,无 DDR;JPEG 2000 为标准有损模式,5 级小波分解,64×64 码块)。下表 LUT、BRAM、DSP 三项以相对值(★)表示——以最轻的 JPEG XS 解码器为 1★ 基准,★ 数值越大代表资源占用越多;具体绝对数值属敏感信息,如需请邮件咨询。
| 资源项 | JPEG XS 编码器 | JPEG XS 解码器 | JPEG 2000 编码器 | JPEG 2000 解码器 |
|---|---|---|---|---|
| LUT | 1.5★ | 1★ | 5.5★ | 4.5★ |
| Block RAM(BRAM) | 1.5★ | 1★ | 8.5★ | 5★ |
| DSP | 1★ | 1★ | 4.5★ | 7★ |
| 外部内存带宽(DDR) | 0(无需 DDR) | 0 | ≈40 Gbps (5 GB/s) | ≈26 Gbps (3.25 GB/s) |
五、实测数据对比
为了直观展示 JPEG XS 与 JPEG 2000 在实际应用中的性能差异,本节选取四张典型测试图像,在 3:1~25:1 共 23 个整数压缩倍数 下,对二者的 PSNR 进行了独立测试。
5.1 测试图集介绍
| 测试图名称 | 内容描述 | 测试目的 |
|---|---|---|
| test_pic1(树冠秋叶,1024×683) | 仰拍秋日树冠:蓝天背景下金黄与绿色叶片交织,密集高频枝叶纹理 | 评估对密集自然高频纹理与色彩渐变的保留能力 |
| test_pic2(珊瑚水族,960×640) | 水下珊瑚礁场景:海葵、小丑鱼与紫色珊瑚,柔和散射光 | 评估对柔和色彩过渡与中等细节的编码效率 |
| test_pic3(微距昆虫,1920×1280) | 微距摄影:停在带水珠花瓣上的昆虫,背景大面积虚化散景 | 评估高分辨率、大面积平滑区(极易压缩)场景下的画质上限 |
| test_pic4(薄荷叶丛,960×640) | 俯拍薄荷/荨麻叶丛:整体深绿单色调,规则叶脉纹理 | 评估单一色调、规则纹理内容的编码表现 |
5.2 客观质量对比(PSNR 曲线图)
各测试图像在不同压缩倍数下的 PSNR 对比曲线如下(横轴压缩倍数 R,纵轴 PSNR/dB)。每图四条曲线:jxs_main/jxs_high(JPEG XS MAIN/HIGH),j2k_97/j2k_53(JPEG 2000,均 5 级分解,分别为 9/7 不可逆与 5/3 可逆变换);5/3 在极易压缩图的低压缩比下达到数学无损(∞),曲线在该区间断开。
5.3 实测结果分析
(1)总体规律(常规自然图像)
在 test_pic1、test_pic2、test_pic4 这类常规自然图像上,相同压缩比下 JPEG 2000(9/7 与 5/3)全程领先 JPEG XS,且压缩比越高领先越稳定。这源于其更高的压缩效率:EBCOT 两级熵编码配合后压缩率失真优化(PCRD-opt)能在全图范围内为所有码块求得率失真最优的码率分配;而 JPEG XS 为压低延迟,仅以 precinct 为粒度做启发式码率分配。
(2)9/7 vs 5/3(统一 5 级分解)
常规图上 9/7 普遍略优于 5/3(约 0.5~3.4 dB,低压缩比差距更大)。9/7 不可逆变换配合量化更契合有损编码,而 5/3 可逆变换靠码流截断实现有损、效率略低。
(3)同为 5/3 时,JPEG 2000 仍优于 JPEG XS
即便都采用 5/3 小波,JPEG 2000(j2k_53)在常规图上仍高于 JPEG XS 约 1~2 dB,证明差距主要来自编码器机制——EBCOT+PCRD 全图最优码率分配 vs. precinct 级启发式分配。
(4)JPEG XS 内部(MAIN vs HIGH)
HIGH 始终略优于 MAIN 约 0.3~1.9 dB,因多一级垂直小波分解(ndecomp_v=2)。
(5)定码率(CBR)特性
JPEG XS 为严格 CBR,压缩后大小恒定,码率/缓冲/延迟完全可控——这正是其面向实时视频链路的核心特性。
(6)关键特例——极易压缩内容(test_pic3)
9/7 为不可逆(浮点)小波,存在“精度天花板”(约 53.41 dB,对应 ≈13:1),3:1~13:1 被钳住、14:1 起才突破;5/3 为整数可逆变换,3:1~5:1 达数学无损(∞)。因 9/7 天花板较低,低压缩比下甚至被定码率的 JPEG XS 反超。
(7)码率分配粒度对局部画质的影响
JPEG 2000 以整幅图为单位、由 PCRD-opt 统一做码率分配,平滑背景省下的码率可集中分配给昆虫等复杂区域;JPEG XS 以 precinct 为单位,无法跨 precinct 大范围调度,复杂区域的高频信息相对丢失较多。
(8)平均趋势(4 图汇总)
| 压缩比 | jxs_main | jxs_high | j2k_97 | j2k_53 |
|---|---|---|---|---|
| 3:1 | 50.97 | 51.53 | 49.62 | 55.42 |
| 4:1 | 46.64 | 47.23 | 47.63 | 52.50 |
| 6:1 | 41.68 | 42.41 | 43.94 | 43.91 |
| 8:1 | 38.64 | 39.43 | 41.57 | 40.77 |
| 10:1 | 36.50 | 37.38 | 39.95 | 38.82 |
| 12:1 | 34.84 | 35.79 | 38.66 | 37.27 |
| 14:1 | 33.63 | 34.55 | 37.65 | 36.22 |
| 16:1 | 32.66 | 33.57 | 36.68 | 35.40 |
| 18:1 | 31.78 | 32.71 | 35.95 | 34.70 |
| 20:1 | 30.99 | 31.96 | 35.26 | 34.09 |
| 21:1 | 30.64 | 31.62 | 34.98 | 33.82 |
| 22:1 | 30.31 | 31.31 | 34.72 | 33.58 |
| 23:1 | 30.00 | 31.02 | 34.49 | 33.36 |
| 24:1 | 29.71 | 30.75 | 34.28 | 33.13 |
| 25:1 | 29.44 | 30.51 | 34.07 | 32.92 |
六、应用场景选型指南
6.1 核心选型逻辑:以压缩倍数为首要决策因子
① 不使用帧间压缩(单张图像、画面切换频繁、对画质稳定性要求高)
| 所需压缩倍数 | 推荐算法 | 理由 |
|---|---|---|
| ≤10:1 | JPEG XS 基线 | 视觉无损,资源最低、无需 DDR、延迟极低 |
| >10:1 | JPEG 2000 有损 | 10:1 以上 JPEG XS 画质下降明显,JPEG 2000 在 10~50:1 仍保持良好画质 |
② 允许使用帧间压缩(视频场景,可接受画面切换时画质波动,典型如 AV-over-IP)
| 所需压缩倍数 | 推荐算法 | 理由 |
|---|---|---|
| ≤20:1 | JPEG XS TDC | 第 3 版 TDC 通过帧间预测将视觉无损压缩提升至 20:1 |
| >20:1 | JPEG 2000 有损 | 超过 20:1 后 JPEG 2000 压缩效率优势显著(北格逻辑帧间预测版本) |
6.2 辅助考量因素
(1)FPGA 资源与硬件成本:详见第四章。若硬件成本敏感且压缩比 ≤10:1,优先选择 JPEG XS 基线版本。
(2)软件兼容性与行业规范
| 对比项 | JPEG XS | JPEG 2000 |
|---|---|---|
| 软件生态 | FFmpeg/GStreamer 原生支持,Adobe Premiere 插件 | 几乎所有图像软件原生支持,生态最成熟 |
| 编解码不对称场景 | 若 PC 端播放需安装相应解码器 | PC 端可直接播放,无需额外插件 |
| 行业规范 | SMPTE ST 2110-22(广电 IP 化强制),IPMX/AVoIP 主流 | DCI 数字影院强制,DICOM 医学影像标准 |
6.3 综合选型决策矩阵(按场景)
| 应用场景 | 典型压缩比 | 允许帧间预测? | 推荐算法 | 推荐理由 |
|---|---|---|---|---|
| 广电专业制作(ST 2110) | 2:1~8:1 | 否 | JPEG XS High/Light | 行业规范强制,线级 CBR |
| AV-over-IP(静态画面) | 10:1~20:1 | 是 | JPEG XS TDC | 压缩效率高,资源比 JPEG 2000 低很多 |
| 车载传感器/嵌入式 | 2:1~10:1 | 否 | JPEG XS 基线 | 无需 DDR,成本敏感 |
| 医学影像存档(DICOM) | 2~3:1(无损) | 否 | JPEG 2000 无损 | 规范强制,ROI 必需 |
| 数字影院发行(DCI) | 约 20:1 | 否 | JPEG 2000 有损 | 规范强制 |
| 卫星遥感/档案存储 | 20:1~50:1 | 否 | JPEG 2000 有损 | 高压缩比,渐进式传输 |
| 桌面远控/云桌面 | 10:1~20:1 | 是 | JPEG XS TDC | 静态画面多,增益大 |
| 数学无损+低延迟 | 约 2~3:1 | 否 | JPEG XS MLS | 无需 DDR,完美重建 |
| 高精度+帧间增益 | 10:1~30:1 | 是 | 北格逻辑 JPEG 2000 帧间扩展 | 延迟较低,画质高 |
七、北格逻辑编解码 IP 产品介绍
7.1 产品线概览
北格逻辑同时提供 JPEG XS IP 和 JPEG 2000 IP 两大编解码系列,覆盖不同应用场景的压缩需求。两个系列均采用 RTL(Verilog)编写,可部署在 AMD(Xilinx)、Altera(Intel)、紫光同创等多家厂商的 FPGA 上。
| 产品系列 | 版本类型 | 核心特性 | 典型应用 |
|---|---|---|---|
| JPEG XS IP | 基线版本(High/Light/Main) | 无需 DDR,资源紧凑,线级 CBR 延迟,支持多种 Profile | 广电 ST 2110、车载传感器、Pro AV/KVM |
| TDC 版本 | 需 DDR 实现帧间预测,压缩效率最高 20:1 | AV-over-IP | |
| JPEG 2000 IP | 标准版本 | 完全符合 Part1 Amd1 规范,可与官方参考软件互解 | 数字电影、医学影像存档、卫星遥感 |
| 低延迟增强版 | 北格逻辑专有帧间编码机制,延迟<8.5ms,支持渐进式传输 | AV-over-IP |
7.2 核心优势
- 资源紧凑:采用经过深度工程优化的紧凑设计,逻辑资源使用量显著低于同类方案。JPEG XS 基线版本无需 DDR 即可工作;JPEG 2000 IP 在保障高画质的同时保持较低的资源占用,适用于小容量 FPGA。
- 充分验证:JPEG 2000 IP 已在 Xilinx Kintex-7 和 UltraScale/UltraScale+ 系列 FPGA 上充分验证并批量使用,达到稳定商用状态;可提供基于 Xilinx KU3P FPGA 的硬件平台用于演示编解码。JPEG XS IP 也已进入成熟商用阶段。
- 灵活定制:支持针对特殊分辨率、帧率及色深的定制开发,并提供从 720P 到 8K 的不同性能版本,客户可按 FPGA 容量灵活选择。
- 完整生态支持:除编解码 IP 外,还提供配套的 VPSS 视频处理子系统(最多 16 路视频源的裁剪、缩放、开窗、图层叠加等)、网络传输模块(UDP/IP、组播、时钟同步等)以及 White Tiger Z1 核心板等完整解决方案,帮助客户快速搭建分布式视频系统。
7.3 核心板与参考方案
White Tiger Z1 是北格逻辑专门为视频分布式应用打造的编解码核心板,基于 Kintex UltraScale+ FPGA,支持 4K@60fps 实时编解码,单块核心板可实现 1-25 倍压缩效果。JPEG 2000 端到端延迟可控制在 10ms 以内,JPEG XS 端到端延迟可控制在 1ms 以内。
总结
JPEG XS 与 JPEG 2000 并非简单的优劣替代关系,而是面向不同场景的两种专业化工具:
JPEG XS
- 核心理念:实时、轻量、近无损传输
- 延迟:超低(<1ms,≤32 行)
- FPGA 资源:低(无需 DDR)
- 典型场景:广电 ST 2110、AV-over-IP、传感器
JPEG 2000
- 核心理念:高保真存档、极限压缩效率
- 延迟:低(约 10~20ms)
- FPGA 资源:高(需 DDR)
- 典型场景:数字电影 DCI、医学影像 DICOM、档案存储
