本文刊发于《现代电影技术》2025年第11期
专家点评
近年来,基于图像高分辨率、高帧率(HFR)、高动态范围(HDR)、广色域(WCG)、沉浸式音频等新兴视听技术的高新技术格式电影发展迅猛,显著提升了电影的技术品质、视听体验和产业效益,但其高图像码率和高数据量对摄制发行放映也提出了很高要求,迫切需要采用更加高效可行的图像压缩编码技术来应对上述需求。图像压缩编码是数字电影技术系统的基石,数字电影自诞生以来就采用JPEG 2000核心编码系统(ISO/IEC 15444-1)进行图像压缩编码。HTJ2K(高吞吐量JPEG 2000,ISO/IEC 15444-15)算法由ISO/IEC下设的联合图像专家组(JPEG)于2019年推出,其通过采用FBCOT块编码算法替代EBCOT块编码算法,显著降低计算复杂度,大幅提高解码速度和系统吞吐量。特别是在处理码率高于500 Mbps图像时,HTJ2K的技术优势愈加明显,相对于JPEG 2000,其解码速度提升可超过30倍,从而为高新技术格式电影的发展与应用提供了一种高效可行的图像编解码解决方案。《基于HTJ2K算法和国产GPU实现的数字电影图像编解码技术研究》一文,详尽阐述了HTJ2K的算法原理、关键技术及其在电影行业应用的技术优势,提出了基于HTJ2K算法和国产GPU实现的数字电影图像编解码方法,通过采用CPU/GPU异构协同计算架构和并行算法设计,并在摩尔线程S4000 GPU和MUSA编程框架下完成实证分析。本文的研究成果为采用HTJ2K算法和国产GPU用于电影制作发行放映提供了技术验证,也为电影核心装备的国产化研制提供了借鉴参考。可以预见,未来随着国家科技自立自强战略的大力实施和积极推进,基于国产芯片器件、自研技术和核心软硬件系统的电影科技自主可控生态体系将愈加成熟完善。
——徐涛
正高级工程师
中国电影科学技术研究所
(中央宣传部电影技术质量检测所)副所长
【项目信息】中国电影科学技术研究所(中央宣传部电影技术质量检测所)基本科研业务费项目“在国产GPU上实现高吞吐量JPEG2000的数字电影序列帧编解码”(2024⁃DKS⁃6)。
作 者 简 介
崔 强
文强
中国电影科学技术研究所(中央宣传部电影技术质量检测所)高级工程师,主要研究方向:数字电影、软件工程、图像处理、数字媒体技术。
摘要
为满足数字电影对高分辨率、高帧率、高动态范围等技术的发展需求,解决传统JPEG 2000解码速度慢、难以适配国产设备的问题,本文通过算法优化与软硬件协同设计,基于国产GPU及MUSA编程框架,提出了基于CPU/GPU异构协同计算架构的数字电影高吞吐量JPEG 2000(HTJ2K)编解码方案,通过离散小波变换(DWT)、量化/反量化及FBCOT算法编解码的并行化实现,结合共享内存优化与数据布局调整,在严格遵循DCI规范的基础上,实现了2K/4K/8K分辨率图像的高效处理。该成果为国产数字电影设备提供了低成本、高效率的图像编解码解决方案,有助于打破国外技术垄断,推动国产LED显示与4K/8K标准的自主发展,对实现中国电影行业全链路技术自主可控具有较大应用价值。
关键词
HTJ2K;GPU;数字电影;JPEG 2000
1引言
当前,图像数据的产生和传输呈爆发式增长,无论是在医学影像、卫星遥感图像,还是在高清视频监控、数字图书馆等领域,都需采用高效的图像压缩技术,以减少数据存储和传输成本。JPEG 2000(J2K)凭借其优越的压缩性能,被广泛应用于诸多领域。然而,由于J2K算法计算复杂度较高,难以满足高吞吐量的要求。2019年,联合图像专家组(JPEG)推出了高吞吐量JPEG 2000(High⁃Throughput JPEG 2000, HTJ2K)压缩技术,以略微降低编码效率为代价,将J2K的解码速度提高至少10倍。HTJ2K是JPEG 2000标准的第15部分(Rec.ITU-T T.814 | ISO/IEC 15444-15),其不仅保留了J2K原有的功能和特点,而且比传统J2K更快、更高效。
本文聚焦数字电影领域对高分辨率(HR)、高帧率(HFR)、高动态范围(HDR)、广色域(WCG)内容的处理需求,针对传统J2K在解码速度与国产设备适配性上的不足,展开基于国产硬件与算法优化的研究,在摩尔线程S4000国产图形处理器(GPU)及元计算统一系统架构(MUSA)编程框架下,构建异构协同计算架构,实现基于HTJ2K算法的编解码。
2电影行业应用HTJ2K的技术优势
为给观众带来更加极致、更具沉浸感的视听体验,电影行业不断推动高分辨率、高帧率、广色域等一系列全新技术方案的应用与演进。在这些新技术方案的背景下,J2K编解码运算量较大的劣势逐渐凸显,难以满足电影未来的发展需求。
2.1 HTJ2K支持更高技术格式的电影图像编解码
近年来,应用图像高分辨率、高帧率、高动态范围、广色域等新兴视听技术的高新技术格式电影成为现代电影技术发展的新趋势新特点。高分辨率意味着画面包含更多像素,能够提升画面清晰度与细节表现;高帧率技术能够提升画面的流畅度和真实感,有效减少快速运动中的模糊和卡顿,使动作清晰平滑;高动态范围则极大地增强了画面的对比度、层次感和立体感,能同时展现高光和暗部的丰富细节,使视觉效果更接近人眼所见;而广色域通过显著增加可显示的色彩数量和色阶,使画面色彩更加丰富、鲜艳、真实,过渡自然,从而更精准地还原电影创作者的色彩意图。高帧率、高动态范围和广色域等技术在电影中的综合应用,给电影图像编解码带来了数据量的几何级增长和编解码复杂度的大幅提升,对数据存储和网络传输带宽构成巨大压力。同时,由于需要处理更精细的画面信息,编解码器在进行帧内预测和运动补偿时涉及更复杂的算法,显著提高了编解码的计算要求和处理时间。
例如,李安执导的《比利·林恩的中场战事》采用120 FPS、4K和 3D 格式进行拍摄和制作,超高技术规格为观众带来了极致的清晰度、流畅性和超强的真实沉浸感。然而,相较于标准的24 FPS电影,其产生的数据量约是标准影片的10倍[1]。为适应电影高新技术格式的发展趋势,电影行业亟需更高效率的新一代图像编解码技术实现海量电影数据的高效处理。在相同的硬件条件下,HTJ2K解码速度较J2K提升5~30倍[2],且输入码流越大,速率提升越明显。同时,HTJ2K算法中定义了新的文件格式JPH,该文件格式提供了高样本精度以支持高动态范围,而J2K几乎局限于8 bit位深。
2.2 终端解码可免费使用HTJ2K
VVC、MPEG-4等其他视频编解码标准需缴纳授权费才可使用。例如,在使用MPEG-4标准时,编码与解码环节均需支付授权费,硬件设备通常按0.25~0.50美元/台收取费用,软件按拷贝数量收取0.25~0.50美元/份[3]。而当前J2K的专利主要聚焦于编码器实现,而解码器的专利覆盖范畴相对较窄。HTJ2K作为J2K国际标准系列中的一员,在实际应用中无需支付费用,能显著降低技术应用门槛,减少企业和用户的成本负担,从而加速技术的推广和普及。对于国产化而言,无专利费用可避免因专利授权问题导致的成本增加,使国产设备制造商能以更具竞争力的价格推出产品,有利于国产技术和设备的自主研发,实现相关领域技术的自主可控。
2.3 HTJ2K算法完全兼容现有电影工作流程
应用HTJ2K算法不会改变电影原工作流程,只需用HTJ2K编解码器替换原J2K编解码器即可。目前已经有国际标准化组织(ISO)和电影电视工程师协会(SMPTE)发布的相关标准引入对HTJ2K的支持,具体包括:
(1)SMPTE ST 422:2019《素材交换格式—将JPEG 2000码流映射到MXF 通用容器中》(
Material Exchange Format—Mapping JPEG 2000 Codestreams into the MXF Generic Container)。该标准旨在把J2K码流映射至素材交换格式(MXF)通用容器(Generic Container)内。因HTJ2K是对原始J2K Part 1(J2K-1)的加强与替代,所以其和J2K-1码流结构高度兼容,这使其能够很大程度上“透明地”适配SMPTE ST 422最初为J2K-1所定义的MXF映射。
(2)SMPTE ST 428-24《数字电影发行母版—打包图像》(
D⁃Cinema Distribution Master—Packed Image),于2024年7月发布。该标准属于数字电影发行母版(DCDM)系列标准的组成部分,其明确了DCDM图像映射至数学无损(Mathematically Lossless)J2K码流的方式,此类码流被命名为Packed Image。HTJ2K作为J2K标准的构成部分,其编码器在无损模式下生成的码流,外部结构遵循SMPTE ST 428-24的规定,可充当DCDM Packed Image 的有效载荷。
(3)SMPTE ST 2067-40:2021《互操作母版格式—应用规范#4: 影院中间格式》(
Interoperable Master Format—Application #4: Cinema Mezzanine)。该标准已更新,在使用 ISO/IEC 15444-15的无损模式时,明确要求编码器必须使用HTJ2K的高吞吐量(HT)块编码器生成数学无损的J2K码流。
(4)SMPTE ST 2067-21《互操作母版格式—应用规范#2E:工作室母版》(
Interoperable Master Format—Application #2E: Studio Master)明确引入了对HTJ2K编码的支持。使用 SMPTE ST 2067-21能更高效地处理和交换用于工作室母版的 4K/8K、高动态范围内容,从而显著加快互操作母版格式(IMF)文件的生成、质量控制(QC)和分发工作流程。该标准允许使用 HTJ2K 编码来创建或交换用于特辑和连续剧的工作室母版;在最新的修订版(SMPTE ST 2067-21 5ED)中,该标准正在进一步增加对8K分辨率的支持,并完善了HTJ2K码流的约束文档,以适应更高的技术规格要求。
2.4 采用HTJ2K算法有助于管理电影资产
从2005年数字电影倡导组织(DCI)提出《数字电影系统规范》(
Digital Cinema System Specification, DCSS) 1.0版开始,数字电影的存档便采用J2K对图像内容进行编码。为解决数字电影存档问题,HTJ2K算法在设计之初就考虑了相应解决方案,能够实现J2K和HTJ2K图像内容的互相转换。HTJ2K引入了HT块编码算法,通过其可逆转码的核心特性,解决了电影资产管理中的效率与功能平衡问题。该机制允许将存储在J2K-1格式(例如IMF规范中使用的格式)中的现有电影资产无损转码为HTJ2K格式进行存储和分发,从而使解码和处理的吞吐量显著提高,大幅降低了计算负载和能源消耗。尽管HTJ2K为提高编解码速率牺牲了J2K-1完整的质量可伸缩性功能,但其能够无损地逆转码回J2K-1格式,从而在需要时完全恢复原始代码流的所有质量分层、剖面和丰富功能(如互动浏览或旧系统兼容性)。这种双向无损转换确保了资产的数据完整性和互操作性,允许电影行业自由选择最适合当前任务的格式。
3HTJ2K算法原理概述
3.1 总体流程
HTJ2K 作为J2K的一部分,在编解码流程上和J2K基本相同。HTJ2K 图像编码过程主要包括预处理、变换编码、量化、快速最优截断编码(Fast Block ⁃ based Coding with Optimal Truncation, FBCOT)算法编码等步骤。首先,对输入图像进行预处理,如颜色空间转换和直流分量(DC)电平位移。然后,通过离散小波变换将图像分解成不同频率子带。之后,对变换系数进行量化,降低数据精度以达到编码目的。最后,使用基于块的FBCOT算法进行编码,进一步提高压缩比。解码过程则是编码过程的逆操作。图1显示了HTJ2K编解码所涉及的流程。
图 1 HTJ2K编解码流程图
3.2 关键技术
HTJ2K的关键技术主要体现在解码速度和高吞吐量两方面,采用基于块的FBCOT算法替代了J2K使用的优化截断嵌入式块编码(Embedded Block Coding with Optimized Truncation, EBCOT)算法,FBCOT算法在图像完成J2K第1部分或第2部分定义的多分量变换、非线性点变换、可逆或不可逆的离散小波变换处理后,针对生成HT块编码过程中产生的清理通道(Cleanup)、显著性传播通道(SigProp)和幅值细化通道(MagRef)采用优化快速选择操作,显著提高解码速度[4]。图2以三种颜色清晰标示了编码过程的三个核心通道:首先执行的清理通道、紧随其后的显著性传播通道以及最终的幅值细化通道。图中显示,HTJ2K编码技术与传统的J2K编码技术在处理流程上完全一致。两者的根本区别在于其内部实现:HTJ2K并非改变了流程结构,而是通过采用全新的高速熵编码核心替代了J2K中基于算术编码的复杂瓶颈,从而在保持相同压缩效率的同时,实现了编码速度数量级的提升。
图 2 FBCOT与EBCOT算法对比
4基于国产GPU的HTJ2K实现
本文提出基于HTJ2K算法和国产GPU的2K、4K、8K分辨率的数字电影序列帧TIFF文件无损编解码方法。国产芯片采用摩尔线程MTT S4000 GPU,基于第三代MUSA内核架构,配备了Tensor核心,单卡支持48 GB显存和768 GB/s的显存带宽。MUSA是摩尔线程推出的GPU编程框架[5],该架构提供了丰富的编程接口和工具,使开发者可方便地利用GPU的并行处理能力执行多种计算任务。在HTJ2K的实现中,使用MUSA架构内核函数,将HTJ2K的编解码算法并行化,从而提高了数据处理能力,其核心技术包括异构协同计算架构和并行算法设计两方面。
4.1 异构协同计算架构
本文方法通过异构协同计算架构(图3),将CPU与GPU的优势充分结合,实现了计算资源的优化配置。在中央处理器主机端(CPU Host),软件负责用户交互、任务调度及数据预处理等关键环节;而在图形处理器设备端(GPU Device),则依托GPU强大的并行计算能力,完成图像编解码的核心计算任务[6]。这种分工明确的处理流程,不仅提高了编解码效率,还确保了系统的稳定性和可靠性。同时,异构协同计算架构还具有良好的扩展性和灵活性,可便捷适配不同类型的国产GPU,为未来的软件升级和功能扩展提供了有力支持。
图 3 异构协同计算架构
本文开发的HTJ2K编解码控制软件(图4),作为异构协同计算架构中的CPU Host处理流程,主要承担用户交互、任务调度及数据预处理等核心功能。本软件采用模块化设计,主要包括图形用户界面层(基于GTK3构建用户界面并处理交互)、业务逻辑层(作为图形用户界面与核心库间的桥梁,负责文件输入和输出、参数转换、线程及日志管理)、核心编解码层(调用摩尔线程库执行实际编解码计算)、GPU监控层(通过libmtml获取硬件状态)及图像工具层(封装TIFF等图像数据的读写与内存管理功能)。核心编解码层是作为异构协同计算架构中的GPU,其则专注于执行计算密集型的并行任务,该层主要承担HTJ2K编解码的核心计算工作,通过MTJPEG2K库实现高效的数据编解码。
图 4 HTJ2K编解码控制软件界面
4.2 并行算法设计
在HTJ2K的编码和解码过程中,涉及大量的数学运算,如离散小波变换、分块 (Tile)并行处理等。GPU的并行处理能力可显著提高这些运算的速度,从而提高HTJ2K编解码的速度[7]。
离散小波变换需将图像划分为多个尺寸适宜的分块。在DCI规范中,对J2K码流的分块划分和编码风格有明确要求,代码块(Code Block)为32×32[8],以优化编码效率[7]。每个分块独立进行离散小波变换,利用GPU强大的线程并行性,为每一分块分配一组线程。在 GPU 的线程管理体系中[9],线程束(Warp)是重要的执行单元。在处理图像时,可将一个分块划分为多个并行任务(Parallel Task)块,每一并行任务块分配一个线程束进行并行计算[10]。
由于编解码的计算依赖于符号的上下文信息,并行化难度较大。本文采用流水线并行的创新方式,将图像划分为多个条带,每个条带独立进行编解码[11]。在GPU上,不同条带的编解码任务可并行执行。为减少上下文信息传递的开销,通过合理的缓存机制[12],为每个条带设置独立的上下文信息缓存。在编解码过程中,线程优先从缓存中读取上下文信息进行概率估计和编码操作[13]。当缓存中的信息过时或不足时,再从全局内存中更新缓存。这样可有效减少对全局内存的频繁访问,提高编解码的并行效率[14]。同时,通过对条带的合理划分,确保不同条带的编解码任务能够在GPU的各计算核心上均衡分配[15],避免出现计算资源闲置或过载的情况,进一步提升整体编码速度[16—18]。
5实验对比分析
5.1 实验环境和实验设计
实验平台选型为摩尔线程的D800服务器、S4000 GPU。CPU采用Intel® Xeon® Gold 6430处理器,拥有32个核心,运行Ubuntu 22.04操作系统。在该平台上部署自行开发的HTJ2K编解码控制软件,并从JPEG官网下载HTJ2K 的源代码,编译完成后可生成OpenJPH[19]软件。
实验采用黑盒测试方法,对软件的编码和解码功能进行逐一验证,确保编解码功能的正确性。测试分为功能测试和性能测试2个部分。功能测试使用HTJ2K编解码控制软件和OpenJPH软件完成2K、4K、8K分辨率的TIFF文件编码后,分别解码对方软件编码后的文件,以验证功能的正确性。性能测试使用2K、4K、8K分辨率的TIFF文件,使用HTJ2K编解码控制软件和OpenJPH软件分别进行编码和解码,并记录时间对比分析。
5.2 实验结果与分析
实验结果表明,HTJ2K编解码控制软件和OpenJPH软件可互相解码对方的编码软件,证明HTJ2K编解码控制软件的编解码功能符合HTJ2K算法。
实验数据表明,在处理从2K到8K不同分辨率的16 bit 4∶4∶4无损压缩图像时,GPU在编码和解码两个环节均展现出远胜于CPU的性能效率。具体来看,在2K分辨率下,GPU的编码用时(0.069 s)较CPU(0.154 s)缩短了超过一半,而其解码用时(0.026 s)更是呈现出数量级的领先优势;当分辨率升至4K时,GPU的编码与解码用时(0.249 s)均为CPU(0.729 s)的约34%,性能提升接近3倍;最终,在负载最重的8K分辨率下,GPU的处理用时(1.050 s)稳定地维持在CPU用时(2.136 s)的一半以下,将其性能优势扩大到约两倍。这一趋势有力地证实,GPU凭借其强大的并行计算能力,不仅能显著加速图像处理流程,而且尤其擅长应对高分辨率数据带来的巨大计算挑战,是高效处理高性能图像编码与解码任务的理想选择。
6结语
本文以国产GPU为硬件基础,结合HTJ2K算法构建电影编解码解决方案,为电影放映技术路径提供了新的替代方案[20]。凭借全球第一的电影市场体量、日趋完善的产业链基础与持续旺盛的观影需求,未来全力发展国产4K/8K数字电影播放系统,或将成为我国实现电影放映设备全面自主可控的发展机遇。这不仅关乎产业升级,更关乎国家在关键文化装备领域的战略安全。
在技术储备层面,一批国内企业已在GPU等核心芯片环节取得实质性突破,逐步填补自主产业链的空白。例如,龙芯中科技术股份有限公司依托自主指令系统,持续优化其集成GPU的渲染效能;海思半导体有限公司在高端视频编解码芯片领域技术积累深厚;上海兆芯集成电路股份有限公司则拥有x86架构下的GPU研发能力;航锦科技股份有限公司与摩尔线程智能科技(北京)股份有限公司等新兴力量,也分别在专用与全功能GPU领域加速布局。这些核心芯片技术的进步,与我国已在全球确立产业优势的LED显示技术(从材料、面板到整机)相结合,共同为构建从“芯”到“屏”的全链路、自主知识产权国产电影放映系统奠定了坚实基础。
尤为关键的是,当前主导全球数字影院建设的DCI规范,其标准仍主要围绕2K/4K分辨率构建,对下一代8K放映并未形成明确指引,这一“标准空窗期”,恰恰为我国提供了实现弯道超车的战略机遇。这不仅能彻底打破国外技术在放映设备领域的长期垄断,更将助力中国在全球范围内率先实现8K电影放映系统从无到有的体系化突破,在新一代电影技术的全球格局中牢牢占据主导地位。
参考文献
(向下滑动阅读)
[1] HURST A. Ben Gervais Walks the Line for 120P 4K Master on 'Billy Lynn' [N/OL]. (2022⁃03⁃23)[2025⁃11⁃03]. https://www.digitalmediaworld.tv/in-depth/ben-gervais-walks-the-line-for-120p-4k-master-on-billy-lynn.
[2] LEMIEUX P A, MATHEW R, NAMAN A, et al. High Throughput JPEG 2000 (HTJ2K) and the JPH file format: a primer[EB/OL]. [2024⁃10⁃27]. https://ds.jpeg.org/whitepapers/jpeg-htj2k-whitepaper.pdf.
[3] Via Licensing Alliance. AVC/H.264 License Fees[EB/OL]. [2024⁃10⁃27]. https://www.via-la.com/licensing-2/avc-h-264/avc-h-264-license-fees/.
[4] 崔强.高吞吐量JPEG2000在电影中的应用[J].现代电影技术, 2021(5):33⁃36.
[5] 陶布曼,魏江力,柏正尧,等. JPEG2000图像压缩基础、标准和实践[M].北京:电子工业出版社,2004.
[6] TAUBMAN D S,NAMAN A T, MATHEW R, et al. High Throughput JPEG 2000 (HTJ2K): New Algorithms and Opportunities[J]. SMPTE Motion Imaging Journal, 2019, 128(5): 34⁃45.
[7] Information technology — JPEG 2000 image coding system: High⁃throughput JPEG 2000:ISO/IEC 15444-15:2019[S], 2019.
[8] Material Exchange Format — Mapping JPEG 2000 Codestreams into the MXF Generic Container:SMPTE ST 422:2019[S], 2019.
[9] Digital Cinema Initiatives. Digital Cinema System Specification (Version 1.4) [EB/OL]. [2025⁃11⁃05]. https://www.dcimovies.com/specifications/.
[10] Moore Threads Inc.MUSA Architecture Programming Guide[Z], 2023.
[11] NVIDIA Corporation.GPU⁃Accelerated Decoding for Medical Imaging[R],2024.
[12] 张为, 吴长坤, 郝亚喆.基于FPGA的JPEG2000图像压缩芯片测试平台设计[J]. 电子学报, 2022, 50(8): 1520⁃1531.
[13] 李德振,孙健永,谭斌,等.基于GPU的JPEG2000医学图像压缩方法研究[J].中国数字医学,2013(2).DOI:10.3969/j.issn.1673-7571.2013.02.027 .
[14] 赵丽丽,张盛兵,张萌,等.基于CUDA的高速FFT计算[J].计算机应用研究,2011(4).DOI:10.3969/j.issn.1001-3695.2011.04.100 .
[15] 刘文松,朱恩,王健,等.JPEG2000算术编码器的算法优化和VLSI设计[J].电子学报,2011(11).
[16] 童炜,刘铎.基于CUDA的JPEG压缩算法优化[J].通信技术,2011(4).DOI:10.3969/j.issn.1002-0802.2011.04.001 .
[17] 张润梅,王霄.基于CUDA架构的MD5破解方法研究[J].计算机科学,2011(2).DOI:10.3969/j.issn.1002-137X.2011.02.073 .
[18] 刘文松,朱恩,王健,等.JPEG2000全并行位平面编码器的VLSI设计验证[J].东南大学学报(自然科学版),2011(6).DOI:10.3969/j.issn.1001-0505.2011.06.003 .
[19] Aous. OpenJPH: an open⁃source implementation of JPEG 2000 Part-15 HTJ2K (HDR)[EB/OL]. [2025⁃11⁃05]. https://github.com/aous72/OpenJPH.
[20] 杨云麟,罗忠奎,谭诗翰.基于GPU的高速图像融合[J].计算机工程与设计,2010(22).
热门跟贴