北格逻辑科技有限公司 Berglogic, Limited

ASIC/SoC Design and Production Services

JPEG2000 IP Core


        JPEG 2000是基于小波变换的图像压缩标准,由国际标准化组织(ISO)于2000年3月发布,文档代码为ISO/IEC15444-1:2000。 JPEG2000标准同时支持有损压缩和无损压缩,并且支持更复杂的渐进式显示和下载。JPEG2000通常被认为是未来取代JPEG的下一代图像压缩标准, 具有更高的压缩比,而且不会产生原先的基于离散余弦变换的JPEG标准产生的块状模糊瑕疵。 目前,JPEG2000标准已经广泛用于各种对图像品质要求比较高的应用场景,例如数字电影、医学成像、卫星图像等。

JPEG2000的典型应用场景图(数字电影+医学成像+卫星图像)

        北格逻辑的JPEG2000编解码IP,是使用RTL(Verilog)语言编写的FPGA IP,可以部署在AMD(Xilinx)、Altera、紫光同创等厂家的FPGA上。 JPEG2000 FPGA IP分成标准和低延迟两个版本,其中标准版本完全符合JPEG2000 Part1 Amd1规范, 输出文件格式是jp2,能够与JPEG2000官方参考软件相互编解。 即北格逻辑 JPEG2000 IP产生的jp2文件可以通过参考软件来解码,参考软件产生的jp2文件可以通过北格逻辑的JPEG2000 IP来解码。 标准版本的编解码过程,是对照着JPEG2000规范来实施的,编解码后的信比与参考软件几乎一致。 JPEG2000标准版本可以用于处理单张图片,也可以用于处理视频流。 北格逻辑的JPEG2000 IP是一款经过深度工程优化的FPGA IP,紧凑的设计使得IP使用更少的逻辑资源和更低的功耗。

        低延迟版本是在标准版本的基础上,针对视频应用进行优化,降低端到端延迟。在低延迟版本中,采用了创新性的码率控制算法, 收到图像的若干行后就可以开始预测和计算最佳截断点,从而获得更低的延迟。低延迟版本输出时采用北格逻辑私有格式, 可以减少封装格式带来的字节开销,同时更有利于在解码器中快速解码。在低延迟版本中, JPEG2000编解码IP的端到端延迟(HDMI输入-JPEG2000编码-网络传输-JPEG2000解码-HDMI输出)可以控制在8.5ms以内, 极端情况下可以控制在2ms以内,非常符合一些对延迟要求严格的应用场景。同时,JPEG2000的渐进式传输特性在IP中得以保留, 编码端可以将4K分辨率下的码流分成主码流和次码流,主码流包含完整4K分辨率下的所有信息, 次码流则是1080P分辨率下的所有信息;解码端可以选择解码4K图像或者1080P图像。

jpeg2000标准版的信噪比图(三级9/7小波+CB大小64x4)对比

         可以看到仅仅在低压缩倍数时,北格逻辑的JPEG2000 IP的信噪比略低于官方参考软件, 这是因为软件版本的计算过程使用浮点数保留更高的精度,同时使用了更多的位平面编码; 我们的JPEG2000 IP如果使用更多的逻辑资源也可以达到样的信噪比。 在高压缩倍数下,两个版本的信噪比几乎一致。 为了减少资源使用率, 以及匹配大多数应用场景(压缩倍数>10),我们采用了更紧凑的设计。

         JPEG 2000编解码器IP核可用于最新的FPGA器件,提供低延迟、高画质、低成本的解决方案。 结合北格逻辑其他视频处理模块(HDMI/SDI输入输出、VPSS、网络传输等),应用于分布式视频系统等应用场景。 目前该JPEG2000 FPGA IP已经在XILINX Kintex-7和UltraScaler&UltraScaler+系列上进行过充分验证和批量使用, 已达到稳定商用状态。此外,北格逻辑可提供硬件平台(基于Xilinx KU3P FPGA),用于演示JPEG2000编解码过程, 实际观察JPEG2000的码率、画质和延迟参数。对于特殊的分辨率、帧率以及色深,北格逻辑可提供定制开发服务, 打造资源最小的版本,降低JPEG2000的部署成本。

JPEG2000编解码器演示环境示意图

JPEG2000 IP 技术特性
标准版本 低延迟版本
最大性能 4K@60fps 4K@60fps
延迟(端到端) 1帧+2ms 8.5ms
颜色空间 RGB/YUV444/YUV422/灰度图(PGM) RGB/YUV444/YUV422
色深 8/10/12 8/10/12
小波(DWT)类型 9/7小波(有损)、5/3小波(无损) 9/7小波(有损)
小波(DWT)级数 3级-6级 3级-6级
量化步长 可配置 可配置
质量层 1层 1层
压缩倍数 1-25倍,可动态配置 1-25倍,可动态配置
编码输入格式 AXI-Stream AXI-Stream
编码输出格式 .jp2、.j2c 北格逻辑私有格式
解码输入格式 .jp2、.j2c 北格逻辑私有格式
解码输出格式 AXI-Stream AXI-Stream
CB大小 32x32、64x64 64x4、16x16、32x8
渐进顺序 CPRL PCRL