前言
本文件按照 GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草。
本文件采信世界超高清视频产业联盟社会团体发布的 T/UWA 028.1—2024《高动态范围(HDR)静态图像 第1部分:双层格式》。
本文件由全国信息技术标准化技术委员会(SAC/TC 28)提出并归口。
本文件起草单位:中国电子技术标准化研究院、华为技术有限公司、荣耀终端股份有限公司、维沃移动通信有限公司、腾讯科技(深圳)有限公司、小红书科技有限公司、微梦创科网络科技(中国)有限公司杭州微帧信息科技有限公司、北京百度网讯科技有限公司、北京数码视讯软件技术发展有限公司、深圳创维显示科技有限公司、北京数字电视国家工程实验室有限公司、广东图盛超高清创新中心有限公司、上海数字电视国家工程研究中心有限公司、北京牡丹电子集团有限责任公司、咪咕文化科技有限公司OPPO 广东移动通信有限公司、北京奕斯伟计算技术股份有限公司。
本文件主要起草人:李婧欣、赵晓莺、徐巍炜、丁岳、赵志杰、余全合、王弋川、尤泓杰、郭浩龙、何志江、侯方超、周燎、张秀峰、李大龙、罗法蕾、刘鸿达、魏巍、刘进、汪立民、邢怀飞、周骋、佟欣、徐遥令、沈思宽、毛珂、李思远、于路、李维、陈国乔、殷惠清、徐晖、郭佩佩、李康敬、许海滨、胡伟、杨周、付剑李颖祎。
引言
T/UWA 028.1—2024《高动态范围(HDR)静态图像 第1部分:双层格式》于2024年6月4日由世界超高清视频产业联盟正式发布并实施,旨在解决业内缺乏统一的 HDR 静态图像格式的问题,以降低采集设备、应用软件、显示器、存储平台等产业链各个领域厂家的实施难度和实现成本。本文件技术内容与 GB/T 46269.1—2025兼容,通过当前产业链成熟度、技术基础等方面已完全支撑标准落地本文件的发布机构提请注意,声明符合本文件时,可能涉及第 7 章、第 8 章、第 9 章、第 10 章、附录 B的 B.2中7项与编解码技术相关的专利的使用。
本文件的发布机构对于该专利的真实性、有效性和范围无任何立场。
该专利持有人已向本文件的发布机构承诺,他愿意同任何申请人在合理且无歧视的条款和条件下,就专利授权许可进行谈判。该专利持有人的声明已在本文件的发布机构备案。相关信息可以通过以下联系方式获得:
专利持有人姓名:华为技术有限公司
地址:广东省深圳市龙岗区坂田华为基地 A
请注意除上述专利外,本文件的某些内容仍可能涉及专利。本文件的发布机构不承担识别专利的责任。
1 范围
本文件规定了高动态范围静态图像双层分发格式的元数据定义、文件格式,以及适配应用处理的过程。
本文件适用于网络通信、数字摄像、数字存储、数字显示等领域的高动态范围静态图像应用。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 17235.1 信息技术 连续色调静态图像的数字压缩及编码 第1部分:要求和指南
GB/T 17966—2024 信息技术 微处理器系统 浮点运算
GB/T 41809 超高清晰度电视系统节目制作和交换参数值
GB/T 46269.1—2025 高动态范围(HDR)视频技术 第1部分:元数据及适配
ISO 21496-1 数字图像 图像转换的增益图元数据 第1部分:动态范围转换(Digital photography—Gain map metadata for image conversion—Part 1:Dynamic range conversion)
ISO/IEC 14496-12 信息技术 视听对象编码 第12部分:ISO 基本媒体文件格式 (Information technology—Coding of audio-visual objects—Part 12:ISO base media file format)
ISO/IEC 23008-12 信息技术 异构环境中的高效编码和媒体传送 第12部分:图像文件格式(Information technology—High efficiency coding and media delivery in heterogeneous environments— Part 12:Image File Format)
ISO/IEC 23091-2 信息技术 独立编码点 第2部分:视频 (Information technology—Coding-independent code points—Part 2:Video)
ITU-R BT.2100-3:2025 高动态范围电视节目制作和交换图像参数值(Image parameter values for high dynamic range television for use in production and international programme exchange)
ITU-T T.35 对于ITU 定义的非标准扩展码的分配规程(Procedure for the allocation of ITU-T defined codes for non-standard facilities)
ARIB STD-B67 用于节目制作的混合对数伽马(HLG)高动态范围电视(HDR-TV)系统的参数值[Parameter Values for the Hybrid Log-Gamma (HLG)High Dynamic Range Television (HDR-TV)System for Programme Production]
3 术语和定义
GB/T 46269.1—2025界定的以及下列术语和定义适用于本文件。
3.1
元数据 metadata
描述图像处理过程中需要的关键信息和特征的数据。
[来源:GB/T 46269.1—2025,3.1,有修改]
3.2 动态范围扩展的关联图像 dynamic range extending associated image group
描述多图像的数据结构。
注:包含相关联的多个图像,其中包含基本图像(3.3)及增强图像(3.4)。能对相关联的多个图像进行处理,并获取所需动态范围的图像(3.5)。
3.3 基本图像 base image;baseline image
描述独立的图像数据结构。
注:包含像素和图像相关的元数据。
3.4 增强图像 enhancement image;gain map
描述增强的图像数据结构。
注:包含像素和图像相关的元数据。
3.5 提取的可选择图像 derived alternate image
描述从本文件规定格式处理后获取的用于显示或后续处理的图像数据结构。
注:包含像素和图像相关的元数据。
3.6 适配 processing
将一组色彩映射到另一组色彩,以在动态范围有限的介质中近似呈现高动态范围图像的处理过程。
[来源:GB/T 46269.1—2025,3.4,有修改]
3.7 高动态范围 high dynamic range;HDR
在现有动态范围基础上,拓展高亮和低亮动态范围,增加画面高亮和低亮图像细节
4 缩略语
下列缩略语适用于本文件。
APP:应用标记段(Application Marker Segments)
CICP:独立编码点(Coding-independent Code Points)
CIE 1931:CIE 1931 XYZ色彩空间(CIE 1931 XYZ Color Space)
DCI-P3:数字电影倡议协议3(Digital Cinema Initiatives Protocol 3)
Display-P3:显示协议3(Display Protocol 3)
DRE-AIG:动态范围扩展的关联图像(Dynamic Range Extending Associated Image Group)
EOTF:电光转换函数(Electro-Optical Transfer Function)
EXIF:可交换图片文件格式(Exchangeable Image File format)
HEIF:高效图像文件格式(High Efficiency Image File Format)
HEVC:高效视频编码(High Efficiency Video Coding)
HLG:混合对数伽马(Hybrid Log-Gamma)
ICC:国际色彩联盟(International Color Consortium)
ICC_profile:色彩特性文件(International Colour Consortium profile)
JPEG:联合图像专家组(Joint Photographic Experts Group)
MPF:多图像格式(Multi-Picture Format)
MSB:最高有效位(Most Significant Bit)
OETF:光电转换函数(Optical-Electro Transfer Function)
PQ:感知量化(Perceptual Quantizer)
P3-D65:采用 D65(6500 K)白点的数字电影倡议协议3(Display Protocol 3-D65)
RGB:红绿蓝(Red Green Blue)
SDR:标准动态范围(Standard Dynamic Range)
sRGB:标准红绿蓝(standard Red Green Blue)
VVC:通用视频编码(Versatile Video Coding)
5 符号与运算
5.1 约定
本文件中使用的数学运算符和优先级参照 C 语言,但对整型除法和算术移位操作进行了特定定义。除特别说明外,约定编号和计数从0开始。
5.2 算术运算符
表1给出了算术运算符定义。
| 算术运算符 | 定义 |
| + | 加法运算 |
| - | 减法运算(二元运算符)或取反(一元前缀运算符) |
| × | 乘法运算 |
| ab | 幂运算,表示a的b次幂 |
| / | 整除运算,沿向0的取值方向截断取整。例如,7/4和-7/-4截断至1,-7/4和7/-4截断至-1 |
| ÷ | 除法运算,不做截断或四舍五入 |
| a/b | 除法运算,不做截断或四舍五入 |
| Σi=abf(i) | 自变量i取由a到b(含b)的所有整数值时,函数f(i)的累加和 |
| a % b | 模运算,a除以b的余数,其中a与b都是正整数 |
| ⌊.⌋ | 下取整 |
5.3 逻辑运算符
表2给出了逻辑运算符定义
| 逻辑运算符 | 定义 |
| a && b | a 和 b 之间的与逻辑运算 |
| a || b | a 和 b 之间的或逻辑运算 |
| ! | 逻辑非运算 |
5.4 关系运算符
表3给出了关系运算符定义。
| 关系运算符 | 定义 |
| > | 大于 |
| ≥ | 大于或等于 |
| < | 小于 |
| ≤ | 小于或等于 |
| == | 等于 |
| != | 不等于 |
5.5 位运算符
表4给出了位运算符定义。
| 位运算符 | 定义 |
| & | 与运算 |
| | | 或运算 |
| ~ | 取反运算 |
| a >> b | 将 a 以 2 的补码整数表示的形式向右移 b 位。仅当 b 取非负整数时定义此运算 |
| a << b | 将 a 以 2 的补码整数表示的形式向左移 b 位。仅当 b 取非负整数时定义此运算 |
5.6 赋值运算
表5给出了赋值运算定义。
| 赋值运算 | 定义 |
| = | 赋值运算符 |
| ++ | 递增,x++相当于x=x+1。当用于数组下标时,在自加运算前先求变量值 |
| -- | 递减,x--相当于x=x-1。当用于数组下标时,在自减运算前先求变量值 |
| += | 自加指定值,例如,x+=3相当于x=x+3,x+=(-3)相当于x=x+(-3) |
| -= | 自减指定值,例如,x-=3相当于x=x-3,x-=(-3)相当于x=x-(-3) |
5.7 数学函数
绝对值函数 Abs定义如公式(1)所示。
Abs (x) = l x, x ≥0 - x, x < 0 .(1)
式中:
———自变量。
向下取整函数 Floor定义如公式(2)所示。
Floor (x) = lfloorx ⌋(2)
式中:
———自变量。
截取函数 Clip3定义如公式(3)所示。
Clip3 (i, j, x) = l i, x < i j, x > j x, 其他 . (3)
式中:
x 自变量;
——— 下界;
———上界。
中值函数 Median定义如公式(4)所示。
rl Median (x, y, z) & = x + y + z - Min (x, Min (y, z)) - Max (x, Max (y, z)) & … (4)
式中:
x 自变量;
y 自变量;
z 自变量。
最小值函数 Min定义如公式(5)所示。
Min (x, y) = l x, x leqslanty y, x > y .(5)
式中:
x 自变量;
y 自变量。
最大值函数 Max 定义如公式(6)所示。
Max (x, y) = l x, x geqslanty y, x < y .(6)
式中:
———自变量;
——— 自变量。
符号函数Sign定义如公式(7)所示。
Sign (x) = l 1, x ≥0 -1, x < 0 .(7)
式中:
———自变量。
对数函数 Log定义如公式(8)所示。
Log (x) = log2 x(8)
式中:
———自变量。
自然对数函数 Ln定义如公式(9)所示。
Ln (x) = loge x(9)
式中:
——— 自变量;
e 自然对数的底,其值约为2.718281828。
幂函数pow 定义如公式(10)所示。
pow (x, y) = xy(10)
式中:
———自变量;
— —— 自变量。
5.8 转换函数
PQ EOTF的逆函数定义如公式(11)所示,PQ EOTF定义如公式(12)所示。
PQEOTF-1 (L) = ((c1 + c2 Lm1)/(1 + c3 Lm1))m2(11)
PQEOTF (L) = ((max [ (L1 / m2 - c1) , 0 ])/(c2 - c3 L1 / m2))1 / m1 (12)
式中:
L 自变量;
1 ——— 常量, m1=(2 610)/(4 096)×1/4=0.159 301 757 812 5; m2 常量, m2=(2 523)/(4 096)×128=78.843 75. ;
c1 常量, ,c1=c3-c2+1=(3 424)/(4 096)=0.835 937 5; C2 常量 ,c2=(2 413)/(4 096)×32=18.851 562 5, ;
C3 常量, c3=(2 392)/(4 096)×32=18.687 5 。
HLG OETF的函数 HLGOETF(L) 如公式(13)所示,HLG OETF 的逆函数 HLGOETF-1 (L ) 如公式(14)所示。
HLGOETF (L) = cc √(3 timesL) & 0 < L ≤1 /12 a × ln(12 timesL - b) + c & 1 /12 < L ≤1 . (13)
HLGOETF-1 (L) = cc (L2)/3 & 0 leqslantL ≤0.5 (exp (((L - c))/a) + b) & hline12 & 0.5 < L ≤1 . (14)
式中:
———自变量;
a 常量, a=0.178 832 77 ;
b ———常量, b=1-4timesa=0.284 668 92;
c 常量, c=0.5-a×ln(4timesa)=0.559 910 73 。
5.9 结构关系符
表6给出了结构关系符定义。
| 结构关系符 | 定义 |
| a->b | 表示a是一个结构体,b是a的一个成员变量 |
5.10 位流语法的描述方法
位流语法描述方法类似 C语言。位流的语法元素使用粗体字表示,每个语法元素通过名字(用下划线分割的英文字母组,所有字母都是小写)、语法和语义来描述。语法表和正文中语法元素的值用常规字体表示。
某些情况下,可在语法表中应用从语法元素导出的其他变量值,这样的变量在语法表或正文中用带下划线的小写字母命名,或者用小写字母和大写字母混合命名。大写字母开头的变量用于解码当前以及相关的语法结构,也可用于解码后续的语法结构。小写字母开头的变量只在它们所在的小节内使用。
语法元素值的助记符和变量值的助记符与它们的值之间的关系在正文中说明。在某些情况下,二者等同使用。
位串的长度是4的整数倍时,可使用十六进制符号表示。十六进制的前缀是 “0x” ,例如 “0x1a” 表示位串“00011010”。
条件语句中0表示 FALSE,非0表示 TRUE。
语法表描述了所有符合本文件的位流语法的超集,附加的语法限制在相关条中说明。
表7给出了描述语法的伪代码例子。当语法元素出现时,表示从位流中读一个数据单元。
解析过程和解码过程用文字和类似 C语言的伪代码描述。
5.11 函数
5.11.1 b yte _ aligned 函数
对于byte_aligned(),如果位流的当前位置是字节对齐的,返回 TRUE,否则返回 FALSE。
5.11.2 next_start_code函数
对于next_start_code(),在位流中寻找下一个起始码,将位流指针指向起始码前缀的第一个二进制位。函数定义应符合表8的规定。
| 函数定义 | 描述符 |
| next_start_code( ) { | |
| stuffing_bit | '1' |
| while ( ! byte_aligned( )) | |
| stuffing_bit | '0' |
| while (next_bits(24) ! ='0000 0000 0000 0000 0000 0001') | |
| stuffing_byte | '00000000' |
| } |
stuffing_byte应出现图像头之后和第一个片起始码之前。
5.11.3 read_bits函数
对于read_bits(n),返回位流的随后 n 个二进制位,MSB在前,同时位流指针前移 n 个二进制位。如果 n 等于0,则返回0,位流指针不前移。
函数也用于解析过程和解码过程的描述
5.12 描述符
描述符表示不同语法元素的解析过程,见表9
| 描述符 | 说明 |
| b(8) | 一个任意取值的字节。解析过程由函数 read_bits(8)的返回值规定 |
| f(n) | 取特定值的连续 n 个二进制位。解析过程由函数 read_bits(n)的返回值规定 |
| r(n) | 连续 n 个‘0’。解析过程由函数 read_bits(n)的返回值规定 |
| u(n) | n 位无符号整数。在语法表中,如果 n 是“v”,其位数由其他语法元素值确定。解析过程由函数 read_bits(n)的返回值规定,该返回值用高位在前的二进制表示 |
| i(n) | n 位有符号整数 |
| st(n) | n 个 UTF-8 格式字符,符合 ISO/IEC 10646 的规定 |
| fp(n) | n 位浮点数,符合 GB/T 17966—2024 的规定,n 可以是 16 或者 32。 |
| ur(64) | 使用两个 32 位无符号数 val1 和 val2,变量的值为 val1/val2 |
| ir(64) | 使用一个 32 位有符号数 val1 和一个 32 位无符号数 val2,变量的值为 val1/val2 |
5.13 保留、禁止和标记位
本文件定义的位流语法中,某些语法元素的值被标注为“保留”(reserved)或“禁止”(forbidden)。
“保留”定义了一些特定语法元素值用于将来对本文件的扩展。这些值不应出现在符合本文件的位流中。
“禁止”定义了一些特定语法元素值,这些值不应出现在符合本文件的位流中。
“标记位”(marker_bit)指该位的值应为‘1’。
位流中的“保留位”(reserved_bits)表明保留了一些语法单元用于将来对本文件的扩展,解码处理应忽略这些位。
6 HDR静态图像的双层分发格式端到端系统
本章包含 HDR静态图像的双层分发格式的端到端系统,HDR静态图像的双层分发端到端系统见图1,分为生成端系统和接收端系统,本系统符合ISO 21496-1的规定。本文件的双层分发格式采用DRE-AIG 的格式。
在生成端,DRE-AIG 的生成过程见附录 A,从基本图像数据以及提取的可选择图像数据,获取DRE-AIG 数据(包含基本图像和增强图像以及元数据);接着,编码生成基本图像码流、增强图像码流以及元数据码流;然后,根据第9章图像分发格式文件封装,封装图像和元数据码流,生成最终的 HDR 静态图像双层分发格式文件在接收端,接收到 HDR静态图像双层分发格式文件后,根据第9章图像文件格式封装,提取基本图像码流、增强图像码流以及元数据码流;接着,对于基本图像码流和增强图像码流分别进行解码,获取DRE-AIG 数据、增强图像数据以及元数据;然后,调用第10章或者第11章获取提取的可选择图像,并进行显示适配处理,再进行显示。

7 元数据
7.1 HDR图像元数据
7.1.1 HDR图像属性(PicInfo)
7.1.1.1 色彩信息
色彩信息包括以下内容。
a) 色域信息(ColourPrimaries)
表示内容的色域信息。ColourPrimaries的取值应符合ISO/IEC 23091-2的规定,典型取值为9(代表ITU-R BT.2020),见表10。
| 取值 | 色域信息 | 备注 |
| 9 | primary x ygreen 0.170 0.797blue 0.131 0.046red 0.708 0.292white D65 0.312 7 0.329 0 | 符合 GB/T 41809符合 ITU-R BT.2100-3:2025 的规定 |
b) 传递函数信息(TransferCharacteristics)
表示内容的 OETF或者 EOTF信息。TransferCharacteristics的取值应符合ISO/IEC 23091-2的规定,典型取值为16(代表 PQ)、18(代表 HLG),见表11。
c) 转换矩阵信息(MatrixCoefficients)
表示内容的转换矩阵信息。MatrixCoefficients的取值应符合ISO/IEC 23091-2的规定,典型取值为9(代表 BT.2020方式),见表12。
| 取值 | 转换矩阵信息 | 备注 |
| 9 | KR=0.262 7; KB=0.059 3 | 符合 GB/T 41809 中非恒定亮度的规定;符合 ITU-R BT.2100-3:2025 中 Y'CbCr 的规定 |
| 10 | KR=0.262 7; KB=0.059 3 | 符合 GB/T 41809 中恒定亮度的规定 |
d) 量化范围信息(FullRangeFlag)
表示内容的定点数范围信息。FullRangeFlag的取值包含full、limited,符合ISO/IEC 23091-2的规定。
注:色彩信息以 CICP、ICC形式传递。
7.1.1.2 色度格式(ChromaFormat)
表示内容的色度信息。ChromaFormat的取值主要包含444、422、420等,以及色度相对亮度的相位信息。
7.1.1.3 位宽(BitDepth)
表示内容的位宽信息。BitDepth的取值主要包含10、12、16等。
7.1.2 静态元数据(StaticMetadata)
图像元数据包含的静态元数据,符合 GB/T 46269.1—2025的规定。
7.1.3 动态元数据(DynamicMetadata)
图像元数据包含的动态元数据,符合 GB/T 46269.1—2025的规定。
7.2 双层分发格式元数据
7.2.1 动态范围扩展标识元数据(DynamicExtensionFlagInfo)
7.2.1.1 图像数量ImageNumber
表示当前文件中包含的总的图像数目。取值主要包含2。
7.2.1.2 图像类型(ImageType)
表示当前文件的图像类型。取值主要包含基本图像、增强图像等。
7.2.1.3 图像偏移(Imageoffset)
表示图像文件的偏移量。
7.2.2 动态范围扩展处理元数据
7.2.2.1 增强图像的色彩通道数量信息(Number of components)
符合ISO 21496-1中的定义。
7.2.2.2 增强图像的变化信息
7.2.2.2.1 增强图像的最小值(Per-component min gain map values)
符合ISO 21496-1中的定义。
7.2.2.2.2 增强图像的最大值(Per-component max gain map values)
符合ISO 21496-1中的定义。
7.2.2.2.3 伽马参数(Per-component gamma values)
符合ISO 21496-1中的定义,本文件建议使用1.0。
7.2.2.3 动态范围扩展的映射参数
7.2.2.3.1 基本图像偏移量常数(Per Component Baseline Offset)
符合ISO 21496-1中的定义。
注:基本图像的偏移量常数。该常数是为了避免计算和应用增强图像时出现异常数值计算问题。
7.2.2.3.2 提取的可选择图像偏移量常数(Per Component Alternate Offset)
符合ISO 21496-1中的定义。
注:提取的可选择图像的偏移量常数。该常数是为了避免计算和应用增强图像时出现异常数值计算问题。
7.2.2.4 基本图像的属性信息
7.2.2.4.1 概述
若基本图像是 HDR图像,需要符合7.1的元数据和参数定义
7.2.2.4.2 基本图像的色彩信息(Baseline image colorimetry metadata)
符合ISO 21496-1中的定义。
7.2.2.5 增强图像的属性信息(EnhanceDataInfo)
包含增强图像本身的属性信息,通过 CICP信息或者是ICC 信息获得。具体有增强图像的色域空间 EnhanceDataColorPrimary,不出现或者默认无色域变换操作;增强图像的传递函数 Enhance-DataTransFunction,不出现或者默认无格式则不进行非线性转线性操作;增强图像的色彩模型 EnhanceDataColorModel,取值主要包含不同格式的 YUV、RGB,不出现本元数据则默认sRGB;可包含增强图像的色度格式 EnhanceDataChromaFormat,取值主要包含444、420以及色度相对亮度的偏移0像素、半像素,不出现本元数据则从码流的 CICP中或者编码标准的信息中获取;包含增强图像的位宽信息 BitDepth。
7.2.2.6 提取的可选择图像的属性信息
7.2.2.6.1 概述
若提取的可选择图像是 HDR图像,需要符合7.1的元数据和参数定义。
7.2.2.6.2 提取的可选择图像的色彩信息(Alternate image colorimetry metadata)
符合ISO 21496-1中的定义。
7.2.2.7 动态范围扩展的色彩信息
7.2.2.7.1 通则
基本图像和增强图像如何进行动态范围扩展色彩相关的信息,具体有动态范围扩展的色彩空间信息 CombineColorMode,取值主要包含 RGB、YUV 等,符合ISO 21496-1的规定应选择 RGB。动态范围扩展的色域空间信息 CombineColorPrimary,取值主要包含 BT.2020、DCI-P3等。动态范围扩展的传递函数信息 CombineTransFunction,取值主要包含PQ、HLG、线性等,符合ISO 21496-1的规定应选择线性。
7.2.2.7.2 增强图像应用的色彩信息(Gain map application space metadata)
符合ISO 21496-1中的定义。
7.2.2.8 动态范围扩展的色彩通道扩展信息
包含进行动态范围扩展时的色彩通道如何扩展的信息,取值主要包含1to3、3to3等。在基本数据3个颜色通道同时增强图像1个时应使用1to3,以及3个通道时应使用3to3,符合ISO 21496-1的规定。
7.2.2.9 基本图像的变换信息(BaseMappingInfo)
7.2.2.9.1 概述
基本图像的变换信息,7.2.2.4的信息结合3×3色域变换矩阵及查找表以更好地进行色域映射等基本图像变换操作。
注:基本图像的变换能使用结合7.2.2.4和7.2.2.9中的变换信息的方式(CICP加额外变化信息的方式),也能使用符合ICC标准的方式,但是这两种方式的变换信息需要一致
7.2.2.9.2 基本图像的变换/映射标识(BaseMappingFlag)
包含基本图像的变换/映射信息是否存在的标识信息。
7.2.2.9.3 基本图像的变换/映射参数(BaseMapping)
包含基本图像的变换/映射参数信息,以查找表形式传递。
7.2.2.9.4 基本图像数据的变换/映射矩阵(BaseMappingMatrix)
包含基本图像的变换/映射矩阵参数信息。若不出现,则默认使用3×3色域映射变换矩阵。
7.2.2.10 提取的可选择图像的变换信息(CombinedMappingInfo)
7.2.2.10.1 概述
提取的可选择图像的变换/映射信息,7.2.2.6的信息结合3×3色域变换矩阵及查找表以更好地进行色域映射等基本图像变换操作。
注:提取的可选择图像的变换能使用结合7.2.2.9和7.2.2.10中的变换信息的方式(CICP 加额外变化信息的方式),也能使用符合ICC标准的方式,但是这两种方式的变换信息需要一致。
7.2.2.10.2 提取的可选择图像的变换/映射标识(CombinedMappingFlag)
包含提取的可选择图像的变换/映射信息是否存在的标识信息。
7.2.2.10.3 提取的可选择图像的变换/映射参数(CombinedMapping)
包含提取的可选择图像的变换/映射参数信息,以查找表形式传递,见表17。
7.2.2.10.4 提取的可选择图像的变换/映射矩阵(CombinedMappingMatrix)
包含提取的可选择图像的变换/映射矩阵参数信息。若不出现,则默认使用3×3色域映射变换矩阵。
7.2.2.11 增强图像的上下采样参数
包含增强图像进行上下采样时的相位和上下采样方法
上下采样时的相位符合ISO 21496-1的规定,应保证基本图像数据/增强图像数据的上下采样和增强图像数据的相位关系为共位(co-sited),即增强图像数据和增强图像数据的上下采样图像的左上角像素等预设位置像素的位置信息相同。上下采样方法默认使用双线性插值方法
7.2.3 静态元数据语义(StaticMetadata)
关联图像元数据包含的静态元数据语义,见7.1.2。
7.2.4 动态元数据语义(DynamicMetadata)
关联图像元数据包含的动态元数据语义,见7.1.3。
8 双层分发格式元数据封装
8.1 动态范围扩展标识
动态范围扩展标识元数据信息在不同文件格式中:
extended_type:32位无符号数,表示ImageType。在 MPF中,储存在 MP Type中,总体为32位。
extended_frame_number:32位无符号数,表示ImageNumber。在 MPF中,储存在 Number of Images中,为32位无符号数。
extended_offset:8位、16位、24位或32位无符号数,表示图像偏移。在 MPF中,储存在Individual image Size以及Individual image data offset中,为32位无符号数。
8.2 动态范围扩展处理
8.2.1 动态范围扩展处理元数据主要部分
Extend_info_part1包含动态范围扩展处理元数据的主要部分,见表13,使用大端方式,即数据的最高有效字节存放在内存的最低地址处。
| 属性定义 | 描述符 |
| extend_info_Part1 | — |
| reserved | u(6) |
| flag | u(1) |
| number of components_flag | u(1) |
| 属性定义 | 描述符 |
| base_headroom | ur(64) |
| alternate_headroom | ur(64) |
| for(i=0; i < number_of_components-1; i++){ | — |
| extend_info_main | — |
| } | — |
| } | — |
number of components_flag:1位无符号数,表示元数据 number of components=2×number of components_flag+1。
flag:1位无符号数,表示 Gain map application space metadata的色域信息ColourPrimaries是否与Baseline image colorimetry metadata 的色域信息 ColourPrimaries 相 同。 当不 同 时 Gain map application space metadata的色域信息 ColourPrimaries与 Alternate image colorimetry metadata的色域信息 ColourPrimaries相同。
extend_info_main:表示各色彩通道动态范围扩展处理信息,包含增强图像的变化信息元数据、动态范围扩展的映射参数元数据,见表14。
base_headroom:符合ISO 21496-1的规定。
alternate_headroom:符合ISO 21496-1的规定。
| 属性定义 | 描述符 |
| extend_info_main{ | — |
| per_component_min_gain_map | ir(64) |
| per_component_max_gain_map | ir(64) |
| per-component gamma values | ur(64) |
| baseline_image_offset | ir(64) |
| alternate_HDR_image_offset | ir(64) |
| } | — |
per_component_min_gain_map:64位除数与被除数,表示元数据 Per-component min gain map values。
Per-component gamma values:64位除数与被除数,表示元数据 Per-component gamma values。
baseline_image_offset:64位除数与被除数,表示元数据 Baseline SDR image offset。
alternate_HDR_image_offset:64位除数与被除数,表示元数据 Alternate HDR image offset。
8.2.2 动态范围扩展处理元数据扩展部分
扩展信息extend_info_extension包含基本图像数据的变换信息 BaseMappingInfo、提取的可选择图像的变换信息 CombinedMappingInfo,见表15,使用大端方式。
| 属性定义 | 描述符 |
| extend_info_extension{ | — |
| base_transform_info_size | u(16) |
| base_transform_info | — |
| combined_mapping_info_size | u(16) |
| combined_mapping_info | — |
| } | — |
base_transform_info_size:16位无符号数,表示base_transform_info的长度。
base_transform_info:表示基本图像数据的变换信息元数据 BaseTransformInfo。
combined_mapping_info_size:16位无符号数,表示combined_mapping_info的长度。
combined_mapping_info:表示提取的可选择图像的变换信息元数据 CombinedMappingInfo。
基本图像的变换信息base_mapping_info。
表示基本图像的变换信息元数据 BaseMappingInfo,见表16。
| 属性定义 | 描述符 |
| base_mapping_info{ | — |
| base_mapping_flag | u(8) |
| base_mapping_matrix[3][3] | fp(M)×9 |
| base_mapping | fp(M)×N×N×N |
| } | — |
base_mapping_flag:8位无符号数,表示 BaseMappingFlag元数据,不为0时,标识传送基本图像的变换信息,同时传送base_mapping_matrix和base_mapping的类型和位数,取值16、32,标识16位符合 GB/T 17966—2024规定的浮点格式,或32位符合 GB/T 17966—2024规定的浮点格式。
base_mapping_matrix:浮点数3×3矩阵,表示 BaseMappingMatrix元数据。
base_mapping:浮点数三维查找表,表示 BaseMapping元数据。
提取的可选择图像的变换信息combined_mapping_info。
表示提取的可选择图像的变换信息元数据 CombinedMappingInfo,见表17。
| 属性定义 | 描述符 |
| combined_mapping_info{ | — |
| combined_mapping_flag | u(8) |
| combined_mapping_matrix[3][3] | fp(M)×9 |
| combined_mapping | fp(M)×N×N×N |
| } | — |
combined_mapping_flag:8位无符号数,表示 CombinedMappingFlag元数据,不为0时,标识传送提取的可选择图像的变换信息,同时标识combined_mapping_matrix和combined_mapping的类型和位数,取值16、32,标识16位符合 GB/T 17966—2024规定的浮点格式,或32位符合 GB/T 17966— 2024规定的浮点格式。
combined_mapping_matrix:浮点数3×3矩阵,表示 CombinedMappingMatrix元数据。
combined_mapping:浮点数三维查找表,表示 CombinedMapping元数据。
8.2.3 静态元数据
静态元数据,见表18。
| 目标设备显示和内容元数据扩展定义 | 描述符 |
| static_metadata( ) { | — |
| for (c=0; c<3; c++) { | — |
| display_primaries_x[c] | u(16) |
| display_primaries_y[c] | u(16) |
| } | — |
| white_point_x | u(16) |
| white_point_y | u(16) |
| max_display_mastering_luminance | u(32) |
| min_display_mastering_luminance | u(32) |
| max_content_light_level | u(16) |
| max_frame_average_light_level | u(16) |
| } | — |
8.2.4 动态元数据
动态元数据符合 GB/T 46269.1—2025的规定,见表19。
| 动态元数据扩展定义 | 描述符 |
| dynamic_metadata() { | — |
| system_start_code | u(8) |
| if(system_start_code==0x01) { | — |
| num_windows=1 | — |
| for( w=0; w < num_windows; w++) { | — |
| minimum_maxrgb_pq[w] | u(12) |
| average_maxrgb_pq[w] | u(12) |
| variance_maxrgb_pq[w] | u(12) |
| 动态元数据扩展定义 | 描述符 |
| maximum_maxrgb_pq[w] | u(12) |
| } | - |
| for(w=0; w < num_windows; w++) { | |
| tone_mapping_enable_mode_flag[w] | u(1) |
| if(tone_mapping_enable_mode_flag[w]==1) { | |
| tone_mapping_param_enable_num[w] | u(1) |
| tone_mapping_param_enable_num[w]++ | |
| for(i=0; i< tone_mapping_param_enable_num[w]; i++) { | |
| targeted_system_display_maximum_luminance_pq[i][w] | u(12) |
| base_enable_flag[i][w] | u(1) |
| if(base_enable_flag[i][w]) { | |
| base_param_m_p[i][w] | u(14) |
| base_param_m_m[i][w] | u(6) |
| base_param_m_a[i][w] | u(10) |
| base_param_m_n[i][w] | u(6) |
| base_param_m_b[i][w] | u(10) |
| base_param_K1[i][w] | u(2) |
| base_param_K2[i][w] | u(2) |
| base_param_K3[i][w] | u(4) |
| base_param_Delta_enable_mode[i][w] | u(3) |
| base_param_enable_Delta[i][w] | u(7) |
| } | |
| 3Spline_enable_flag[i][w] | u(1) |
| if(3Spline_enable_flag[i][w]) { | |
| 3Spline_enable_num[i][w] | u(1) |
| 3Spline_enable_num[i][w]++; | |
| for(j=0; j < 3Spline_enable_num[i][w]; j++) { | |
| 3Spline_TH_enable_mode[j][i][w] | u(2) |
| if((3Spline_TH_mode[j][i][w]==0)||(3Spline_TH_mode[j][i][w]==2)) { | |
| 3Spline_TH_enable_MB[j][i][w] | f(8) |
| } | |
| 3Spline_TH_enable[j][i][w] | f(12) |
| 3Spline_TH_enable_Delta1[j][i][w] | f(10) |
| 动态元数据扩展定义 | 描述符 |
| 3Spline_TH_enable_Delta2 [j][i][w] | f(10) |
| 3Spline_enable_Strength[j][i][w] | f(8) |
| } | |
| } | |
| } | |
| } | |
| } | |
| color_saturation_mapping_enable_flag[w] | u(1) |
| if(color_saturation_mapping_enable_flag[w]) { | |
| color_saturation_enable_num[w] | u(3) |
| for(i=0; i< color_saturation_enable_num [w]; i++) { | |
| color_saturation_enable_gain[i][w] | u(8) |
| } | |
| } | |
| } | |
| } | |
| } |
9 双层分发格式文件格式
9.1 通则
本章描述了基于不同文件格式封装 HDR静态图像元数据和图像数据的方法:
a) JPEG 双层分发格式应符合 GB/T 17235.1的规定;
b) HEIF双层分发格式应符合ISO/IEC 23008-12的规定。
9.2 JPEG双层分发格式
9.2.1 通则
基本图像和增强图像均应采用独立的JFIF封装格式,在每个JFIF中携带相关的 APP段,封装为基本图像子格式文件数据和增强图像子格式文件数据,并存放在同一文件中。整体结构见表20。
| 标记 | 全称 | 相对于 JPEG | |
| SOI | Start of Image | 一致 | |
| APP0 | JFIF | 一致 | |
| 标记 | 全称 | 相对于JPEG | |
| APP1 | EXIF APP1 | 新增 | |
| APP2 | MPF APP2 | 新增 | |
| APP2 | ICC APP2 | 新增 | |
| APP2 | ISO APP2 | 新增 | |
| APP8 | UWA info APP8 | 新增 | |
| DQT | Quantization Table | 一致 | |
| DHT | Huffman Table | 一致 | |
| DRI | Restart interval | 一致 | |
| SOF | Frame Header | 一致 | |
| SOS | Scan Header | 一致 | |
| Compression Data | 一致 | ||
| EOI | End of Image | 一致 | |
| SOI | Start of Image | 新增 | |
| APP1 | EXIF APP1 | 新增 | |
| APP2 | MPF APP2 | 新增 | |
| APP2 | ICC APP2 | 新增 | |
| APP2 | ISO APP2 | 新增 | |
| APP8 | UWA info APP8 | 新增 | |
| DQT | Quantization Table | 新增 | |
| DHT | Huffman Table | 新增 | |
| DRI | Restart interval | 新增 | |
| SOF | Frame Header | 新增 | |
| SOS | Scan Header | 新增 | |
| Compression Data | 新增 | ||
| EOI | End of Image | 新增 | |
9.2.2 基本图像子格式
基本图像子格式数据部分包含 APP元数据部分以及其余的图像码流部分,其中:
其余的图像码流部分包含完整的JFIF JPEG 文件结构,为可独立解码的JPEG 文件;
APP元数据部分应包含 UWA Info APP8,还应包含 EXIF APP1、MPF APP2、ISOMetadata APP2、ICC_profile APP2,具体要求如下。EXIF、MPF、ISOMetadata和ICC 这些 APP的使用方式应符合ISO 21496-1的要求。
a) 基本图像子格式中的 UWA Info APP8
包含基本图像需要的元数据部分,见表21,使用大端方式。
| 定义 | 描述符 |
| UWA Info APP8( ) { | |
| app_start_code | f(16) |
| app_length | u(16) |
| itut35_tag | st(6) |
| itu_t_t35_country_code | f(8) |
| terminal_provide_code | f(16) |
| terminal_provide_oriented_code | f(16) |
| extended_frame_number | u(8) |
| extended_type | f(32) |
| if(File_type==1) { | |
| for(i=0; i < ImageNumber-1; i++){ | |
| extended_offset1[i] | u(32) |
| extended_offset2[i] | u(32) |
| } | |
| } | |
| } |
其中,app_start_code:16位无符号数,APP标记,取值等于0xFFE8。
app_length:16位无符号数,APP长度。
itut35_tag:6个 UTF-8字符,APP标记,取值等于‘ITUT35’。
itu_t_t35_country_code:8位无符号数,按ITU-T T.35相关规定,取值等于0x26。
terminal_provide_code:16位无符号数,按ITU-T T.35相关规定,取值等于0x04。
terminal_provide_oriented_code:16位无符号数,按ITU-T T.35相关规定,取值等于0x07。
extended_frame_number:8位无符号数,表示总的图像数目ImageNumber。
extended_type:32位无符号数,表示当前文件的图像类型ImageType,取值等于0x01000000。File _type等于((extended_type>>24)&0xFF),为1标识当前为基本图像;meta_type等于((extended_ type>>16)&0xFF),为0标识不包含动态和静态元数据;Enhance_type等于((extended_type>>8) &0xFF),为0标识不包含元数据扩展部分。
extended_offset1:32位无符号数,表示增强图像从当前 APP开始的偏移量。
extended_offset2:32位无符号数,表示增强图像从当前 APP开始的不包含除JFIF APP以外 APP的偏移量。
b) 基本图像子格式中的 EXIF APP1和 MPF APP2
MPF的 MP type、Number of Images、Individual Image Size/Data offset来分别封装ImageType、ImageNumber、Imageoffset,MP type、Number of Images、Individual Image Size/Data offset的具体取值符合ISO 21496-1的规定。MPF 包含 DynamicExtensionFlagInfo的部分语法元素:ImageNumber、Imageoffset等,该信息需要与9.2.3a)中相关元数据值一致。
EXIF APP1可包含ColorSpace tag,若ColorSpace tag为 Uncalibrated,可同时包含 TransferFunc-
tion tag、PrimaryChromaticities tag、YCbCrCoefficients tag。包含基本图像的色彩信息元数据 Baseline image colorimetry Info的语法元素。
c) 基本图像子格式中的ISOMetadata APP2
该 APP符合ISO 21496-1的要求,见表22。
| 定义 | 描述符 |
| ISOMetadata APP{ | |
| app_start_code | f(16) |
| app_length | u(16) |
| iso_gainmap_tag | st(28) |
| payload | f(32) |
| } |
d) 基本图像子格式中的ICC APP2
包含基本图像的色彩信息元数据 Baseline image colorimetry Info的语法元素,包含 ColorPrimary等。ICC包含的 CICP信息中包含了这些信息,ICC APP2的使用符合ISO 21496-1的要求,对于 HDR的基本图像在ICC_profile中应添加 CICP tag信息。该信息应与9.2.3a)中相关元数据值一致。使用ICC_profile的推荐方法见附录 B。
e) 基本图像码流格式
包含基本图像使用JPEG 编码,编码参数推荐使用 YUV 三通道配置。
9.2.3 增强图像子格式
增强图像子格式数据部分包含 APP元数据部分以及其余的图像数据部分,其中:
其余的图像数据部分包含完整的JFIF JPEG 文件结构,为可独立解码的JPEG 文件;
APP元数据部分应包含 UWA Info APP8,还应包含 EXIF APP1、MPF APP2、ISOMetadata APP2、ICC_profile APP2。EXIF APP1、MPF APP2、ISOMetadata 和 ICC_profile APP 组合符合ISO 21496-1的要求。具体格式如下。
a) 增强图像子格式中的 UWA Info APP8
包含增强图像需要的元数据部分,见表23,使用大端方式。
| 定义 | 描述符 |
| UWA Info APP8( ) { | |
| app_start_code | f(16) |
| app_length | u(16) |
| itut35_tag | st(6) |
| itu_t_t35_country_code | f(8) |
| terminal_provide_code | f(16) |
| terminal_provide_oriented_code | f(16) |
| 定义 | 描述符 |
| extended_frame_number | f(8) |
| extended_type | f(32) |
| if(meta_type==1){ | |
| metadata_size | u(16) |
| static_metadata_size | u(16) |
| static_metadata | u(8)×N |
| dynamic_metadata_size | u(16) |
| dynamic_metadata | u(8)×N |
| } | |
| if(enhance_type==1){ | |
| extend_info_size | u(16) |
| extend_info_extension | u(8)×N |
| } | |
| } |
其中,app_start_code:16位无符号数,APP标记,取值等于0xFFE8。
app_length:16位无符号数,APP长度。
itut35_tag:6个 UTF-8字符,APP标记,取值等于‘ITUT35’。
itu_t_t35_country_code:8位无符号数,按ITU-T T.35相关规定,取值等于0x26。
terminal_provide_code:16位无符号数,按ITU-T T.35相关规定,取值等于0x04。
terminal_provide_oriented_code:16位无符号数,按ITU-T T.35相关规定,取值等于0x07。
extended_frame_number:8位无符号数,表示总的图像数目ImageNumber。
extended_type:32位无符号数,表示当前文件的图像类型ImageType,取值等于 0x02010100 或0x02010000。file_type等于((extended_type>>24)&0xFF),为2标识当前为增强图像;meta_type等于((extended_type>>16)&0xFF),为1标识包含动态和静态元数据;enhance_type等于((extended_ type>>8)&0xFF),为1标识包含元数据扩展部分。
metadata_size:16位无符号数,表示动态和静态元数据总长度。
static_metadata_size:16位无符号数,表示静态元数据长度。
static_metadata:表示静态元数据Staticmetadata。
dynamic_metadata_size:16位无符号数,表示动态元数据长度。
dynamic_metadata:表示动态元数据 Dynamicmetadata。
extend_info_size:16位无符号数,表示动态范围扩展处理元数据长度。
extend_info_extension:8位无符号数队列,表示动态范围扩展处理元数据扩展部分,见附录 C。
b) 增强图像子格式中的ISO APP2
包含增强图像的元数据 ExtendInfo等,符合ISO 21496-1中相关定义,总体 APP结构见表24。
| 定义 | 描述符 |
| app_start_code | f(16) |
| app_length | u(16) |
| iso_gainmap_tag | st(28) |
| version | u(32) |
| if(minimum_version==0){ | |
| flag | u(8) |
| base_headroom_numerator | u(32) |
| base_headroom_denominator | u(32) |
| alternate_headroom_numerator | u(32) |
| alternate_headroom_denominator | u(32) |
| for(i=0; i < number_of_components-1; i++){ | |
| extend_info_main[i] | |
| } | |
| } |
Extend_Info_Main见表25。
| 定义 | 描述符 |
| extend_Info_Main{ | |
| per_component_min_gain_map_numerator | i(32) |
| per_component_min_gain_map_denominator | u(32) |
| per_component_max_gain_map_numerator | i(32) |
| per_component_max_gain_map_denominator | u(32) |
| per-component gamma values_numerator | u(32) |
| per-component gamma values_denominator | u(32) |
| baseline_image_offset_numerator | i(32) |
| baseline_image_offset_denominator | u(32) |
| alternate_image_offset_numerator | i(32) |
| alternate_image_offset_denominator | u(32) |
| } |
c) 增强图像子格式中的ICC APP2
包含提取的可选择图像的属性信息 Alternate image colorimetry Info的部分语法元素,包含Color-Primary等。ICC包含的 CICP信息中包含了这些信息,ICC APP2的使用符合ISO 21496-1的要求,对于 HDR的增强图像在ICC profile中应添加CICP tag信息。该信息应与9.2.3a)中相关元数据值一致。
d) 增强图像码流格式
包含基本图像使用JPEG 编码,编码参数可使用 YUV 三通道编码配置
9.3 HEIF双层分发格式
9.3.1 概述
基于 HEIF的双层分发格式包含基本图像子格式、增强图像子格式、动态范围扩展处理元数据主要部分子格式、静态元数据子格式、动态范围扩展处理元数据扩展部分以及动态元数据子格式,符合ISO/IEC 23008-12和ISO/IEC 14496-12的规定。见表26。
| 箱 | 箱名 | 相对于已有 | |||
| ftyp | File Type Box | 增加内容 | |||
| meta | Meta Box | 一致 | |||
| hdlr | pict | Handler Box | 一致 | ||
| pitm | Primary Item Box | 一致 | |||
| iinf | Item Info Box | 一致 | |||
| infe | hvc1 | 一致 | |||
| infe | hvc1 | 增加内容 | |||
| infe | tmap | 增加内容 | |||
| infe | it35 | 增加内容 | |||
| iloc | Item Location Box | 一致 | |||
| Iprp | Item Properties Box | 一致 | |||
| Ipco | Item Property Container Box | 一致 | |||
| Ispe | 一致 | ||||
| Pixi | 一致 | ||||
| hvcC | 一致 | ||||
| colr | 一致 | ||||
| clli | 增加内容 | ||||
| Ispe | 一致 | ||||
| hvcC | 一致 | ||||
| colr | 增加内容 | ||||
| colr | 增加内容 | ||||
| mdcv | 增加内容 | ||||
| irot | 增加内容 | ||||
| ipma | Item Property Association | 一致 | |||
| iref | Item Reference Box | 一致 | |||
| dimg | Reference Type | 增加内容 | |||
| 箱 | 箱名 | 相对于已有 | |||
| idat | Item Data Box | 增加内容 | |||
| grpl | Groups List Box | 一致 | |||
| altr | Entity To Group Box | 增加内容 | |||
| mdat | Media Data Box | 一致 | |||
9.3.2 基本图像子格式
基本图像子格式如下。
a) 通过‘pitm’来标识项号(item_ID)为特定值的项为基本图像。
b) 添加‘iinf’并在‘iinf’中添加基本图像对应的infe item,该infe item 包含标识项号(item_ID)、项类型(item_type),其中项类型(item_type)为grid或 hvc1等其他编解码器标识。容纳 DynamicExtensionFlagInfo的部分信息;
c) 添加‘iloc’并在‘iloc’添加项(包含item_ID,extent_count,extent_offset,extent_length),来指示基本图像文件存储的偏移(extent_offset)和长度(extent_length),item_ID同b)中。容纳DynamicExtensionFlagInfo的部分信息。
d) 在‘Iprp’的‘ipco’中添加项目属性,包含的项目属性有 ‘ispe’、‘hvcC’、‘colr’、‘irot’,每个属性项有隐式的序号。应包含‘colr’且‘colr’有‘nclx’和‘rICC’类型,irot默认为0;按照实际情况选取合适的类型。容纳基本图像的属性信息元数据 Baseline image colorimetry Info以及BaseTransformInfo部分信息。
e) 添加‘ipma’并在‘ipma’中添加项目属性关联项,association_count存储关联的属性项数目,用property_index来列举关联的属性项的序号,应包含 9.3.2d)的三个属性,其中 colr、hvcc和irot的essential值为1。
f) 在‘mdat’中添加基本图像的码流,并按照该码流的起始位置和长度修改‘iloc’中的item_ID 同b)中的extent_offset,extent_length。
9.3.3 增强图像子格式
增强图像子格式如下。
a) 在‘iinf’中添加增强图像对应的infe item,该infe item 包含标识项号(item_ID)、项类型(item_ type),其中项类型 (item_type)为 grid 或 hvc1 等其他编解码器标识,应设为隐藏类型(hidden)。容纳 DynamicExtensionFlagInfo的部分信息。
b) 在‘iloc’添加项来指示增强图像文件存储的偏移(extent_offset)和长度(extent_length),item_ ID同a)中。容纳 DynamicExtensionFlagInfo的部分信息。
c) 在‘Iprp’的‘ipco’中添加项目属性,包含的项目属性有‘ispe’、‘hvcC’、‘colr’、‘irot’,每个属性项有隐式的序号。应包含‘colr’且‘colr’应使用‘nclx’类型,‘irot’的值应和9.3.2中的‘irot’属性和值完全一致。容纳 ExtendInfo中的 EnhanceDataInfo部分信息。
d) 添加‘ipma’并在‘ipma’中添加项目属性关联项,association_count存储关联的属性项数目,用property_index来列举关联的属性项的序号,应包含c)规定的属性项,其中colr、hvcc和irot的essential值为1。容纳 ExtendInfo中的 EnhanceDataInfo部分信息。
e) 在‘mdat’中添加增强图像的码流,并按照该码流的起始位置和长度修改‘iloc’中的item_ID
同a)中的extent_offset,extent_length。
9.3.4 动态范围扩展处理元数据主要部分子格式
动态范围扩展处理元数据主要部分子格式如下
a) 在‘iinf’中添加增强图像对应的infe item,该infe item 包含标识项号(item_ID)、项类型(item type),其中项类型(item_type)为‘tmap’。容纳动态范围扩展元数据的标识元数据。容纳DynamicExtensionFlagInfo的部分信息。
b) 在‘iloc’添加项来指示增强图像文件存储的偏移(extent_offset)和长度(extent_length),item ID同a)中。容纳动态范围扩展元数据的标识元数据。容纳 DynamicExtensionFlagInfo的部分信息。
c) 在‘Iprp’的‘ipco’中添加项目属性,应包含的项目属性有‘colr’和‘irot’,‘irot’的值应和9.3.2中的‘irot’属性和值完全一致。容纳7.2.2.6中规定的增强图像扩展后的属性信息元数据。容纳可选择图像的属性信息元数据 Alternate image colorimetry Info以及 CombinedMappingInfo部分信息。
d) 应在‘iref’中添加项,属性为‘dimg’的SingleItemTypeReferenceBox,内容包含 From_item_id [应等于9.3.4a)对应的item_ID]、reference_count(应等于2)、To_item_id[第一个 To_item_id应等于9.3.2b)对应的item_ID,指示基本图像]、To_item_id[第一个 To_item_id应等于9.3.3a)对应的item_ID,指示增强图像]。容纳动态范围扩展元数据的标识元数据。容纳 DynamicExtensionFlagInfo的部分信息。
e) 添加‘ipma’并在‘ipma’中添加项目属性关联项,association_count存储关联的属性项数目,用property_index来列举关联的属性项的序号,其中 colr和irot的 essential值为 1;应包含9.3.4c)的属性项。容纳动态范围扩展元数据的动态范围扩展的处理信息元数据。容纳动态范围扩展的色彩信息 Gain map Application color space。
f) 添加‘idat’,容纳动态范围扩展处理元数据主要部分。容纳 Extend_Info_Part1 部分的信息,总体结构见表27。
| 定义 | 描述符 |
| versiontmap | u(8) |
| version | u(32) |
| if(minimum_version==0){ | |
| flag | u(8) |
| base_headroom_numerator | u(32) |
| base_headroom_denominator | u(32) |
| alternate_headroom_numerator | u(32) |
| alternate_headroom_denominator | u(32) |
| for(i=0; i < number_of_components-1; i++){ | |
| extend_info_main[i] | |
| } | |
| } | |
| 注:其中数据按照9.2.3b)。 | |
可添加‘altr’。具有唯一性id(item_id也是唯一性id),其中entity_id的第一个写入的值应为9.3.4中tmap对应的id值。
9.3.5 静态元数据子格式
应使用‘mdcv’和‘clli’box封装静态元数据,具体定义按ISO/IEC 14496-12的规定。
静态元数据也可封装在 HEVC 码流的 SEI message中,按ISO/IEC 23008-2和 GB/T 46269.1— 2025的规定。
9.3.6 动态范围扩展处理元数据扩展部分以及动态元数据子格式
动态范围扩展处理元数据扩展部分以及动态元数据子格式如下
a) 在‘iinf’中添加增强图像对应的infe item,该infe item 包含标识项号(item_ID)、项类型(item_ type),其中项类型(item_type)为‘it35’,符合ITU-T T.35的规定。
b) 添加‘idat’,容纳 ExtendInfo,总体结构为见表28。
| 定义 | 描述符 |
| UWA Info { | |
| itu_t_t35_country_code | f(8) |
| terminal_provide_code | f(16) |
| terminal_provide_oriented_code | f(16) |
| extended_frame_number | f(8) |
| extended_type | f(32) |
| if(meta_type==1){ | |
| metadata_size | u(16) |
| static_metadata_size | u(16) |
| static_metadata | u(8)×N |
| dynamic_metadata_size | u(16) |
| dynamic_metadata | u(8)×N |
| } | |
| if(enhance_type==1){ | |
| extend_info_size | u(16) |
| extend_info_extension | u(8)×N |
| } | |
| } | |
| 注:其中数据按照9.2.3a)。 | |
10 获取 HDR图像
10.1 从基本图像数据获取显示所需的 HDR图像的过程
10.1.1 概述
本条描述了 HDR图像的获取过程:
a) 获取基本图像子格式部分文件包含元数据;
b) 调用10.1.2获取 HDR图像数据及其元数据;
c) 进行 HDR范围显示适配。
10.1.2 获取 HDR图像数据及其元数据
输入:元数据信息 metadata,图像数据pic。
输出:HDR图像数据 HDRPic,图像属性语义PicInfo,静态元数据StaticMetadata,动态元数据 DynamicMetadata。
过程如下。
a) HDR图像校验。
1) 若色域信息 ColourPrimaries不是 BT.2020/BT.2100,则认定为非本文件 HDR图像。
2) 如果传递函数信息 TransferCharacteristics不是 HLG 或者 PQ,则认定为非本文件 HDR图像。
3) 如果静态元数据未赋值,则认定为非本文件完整 HDR图像,也可根据图像属性语义赋予默认取值:
若满足BT.2100规格,为 HLG 传递函数时,max_display_mastering_luminance默认赋予1000 nit,白点默认使用 D65;
若满足 BT.2100规格,为 PQ 传递函数时,max_display_mastering_luminance默认赋予10000 nit,白点默认使用 D65。
4) 如果动态元数据未赋值,则认定为非本文件完整 HDR图像。
b) HDR图像赋值:
1) 图像属性语义 PicInfo=符合7.1的元数据信息 metadata中的 PicInfo;
2) 静态元数据StaticMetadata=符合7.1的元数据信息 metadata中的StaticMetadata;
3) 动态元数据 DynamicMetadata=符合7.1的元数据信息 metadata中的 DynamicMetadata;
4) HDR图像数据 HDRpic=pic。
10.1.3 进行 HDR显示适配
输入:HDR图像数据 HDRPic,图像属性语义PicInfo,静态元数据StaticMetadata,动态元数据 DynamicMetadata。
输出:用于显示的 HDR图像数据recHDRAfter。
过程如下:
a) 如果元数据信息 metadata中存在动态元数据 DynamicMetadata,则应根据动态元数据 DynamicMetadata指示的过程,应按照 GB/T 46269.1—2025的规定对于 HDRPic进行 HDR 显示适配处理;
b) 如果元数据信息 metadata中不存在动态元数据 DynamicMetadata,则按照 GB/T 46269.1— 2025中附录 A 的规定,先生成动态元数据,再按照 GB/T 46269.1—2025的规定对于 HDRPic
进行 HDR显示适配处理。
10.2 从双层分发格式获取 HDR图像的过程
10.2.1 概述
从 DRE-AIG 获取 HDR图像的过程见图2。

过程如下:
a) 调用10.2.2获取元数据;
b) 调用10.2.3获取基本图像数据;
c) 调用10.2.4获取增强图像数据;
d) 调用10.2.5获取提取的可选择图像数据及其元数据;
e) 获取显示亮度信息,并按照 GB/T 46269.1—2025的显示适配过程进行 HDR范围显示适配。
10.2.2 获取元数据
输入:符合第9章中文件结构封装的元数据子格式
输出:符合第7章中的元数据信息 metadata。
过程如下。
a) 获取动态范围扩展标识元数据 DynamicExtensionFlagInfo,并根据 DynamicExtensionFlagInfo的信息获取基本图像子格式部分文件和增强图像子格式部分文件等;
1) 如果是JPEG 文件格式,则应:
使用9.2.2a)获取 DynamicExtensionFlagInfo;
使用 MPF APP,且根据 MPF获得 MPF标识的扩展图像类型为gainmap,则指示当前是 DRE-AIG,也可使用9.2.2b)从 MPF中获取 DynamicExtensionFlagInfo。
文件起始的JPEG 子格式为基本图像子格式部分;根据 DynamicExtensionFlagInfo获取增强图像文件的偏移,进而获取增强图像子格式部分。
2) 如果是 HEIF文件格式,则应:
获取‘it35’,如存在‘it35’且其中数据符合9.3.6,则 DynamicExtensionFlagInfo存在,并从 ‘iloc’获取 DynamicExtensionFlagInfo。
使用9.3.4获取tmap。如果有tmap,则 DynamicExtensionFlagInfo存在,并从‘iloc’中获取 DynamicExtensionFlagInfo。当文件中存在首要图像项(item)以及隐藏(hidden)类型的图像项(item),并且存在第三项(item)为tmap,并且存在‘dimg’标识三项之间的依赖关系,则指示当前是 DRE-AIG。
根据 DynamicExtensionFlagInfo的偏移信息,从‘mdat’获取基本图像子格式部分、 增强图像子格式部分、动态范围扩展元数据子格式部分、静态元数据子格式部分以及动态范围扩展处理元数据子格式部分。
b) 如果 DynamicExtensionFlagInfo的信息存在且指示当前是 DRE-AIG,则进行后续处理,否则不进行后续处理。
c) 获取基本图像数据的属性信息 Baseline image colorimetry Info:
1) 如果是JPEG 文件格式,则根据9.2.2d)从基本图像子格式部分的ICC APP中获取。若ICC中有 CICP tag,则同时获取 CICP信息;
2) 如果是 HEIF文件结构,则根据9.3.2d)从基本图像子格式部分的colr包中获取信息。若colr是‘nclx’类型则获取 CICP信息,如果是其余类型则获取的是ICC 信息。如果ICC中有 CICP tag,则同时获取 CICP信息。
d) 获取增强图像的属性信息 EnhanceDataInfo:
1) 如果是JPEG 文件格式,则使用默认的属性信息,其中 EnhanceColorPrimary为不做任何色域变换处理的格式,EnhanceTransFunction为线性或者不做任何非线性转线性的处理的格式,EnhanceColorModel使用sRGB的 YUV 格式;
2) 如果是 HEIF文件格式,则使用9.3.3c)增强图像子格式部分的colr获取信息。
e) 获取增强图像扩展后的属性信息 Alternate image colorimetry Info:
1) 如果是JPEG 文件,则根据9.2.3c)从增强图像子格式部分的ICC APP中获取信息,如果ICC中有 CICP tag,则同时获取 CICP信息。
2) 如果是 HEIF文件,则使用9.3.4c)从动态范围扩展元数据子格式部分的‘tmap’项(item)关联的colr获取信息。
f) 获取动态范围扩展的色彩信息 Gain map Application color space:
1) 如果是JPEG 文件,则根据9.2.3b)从增强图像子格式部分的ISO APP2中获取信息;
2) 如果是 HEIF文件,则使用9.3.4f)从动态范围扩展元数据子格式部分的‘tmap’项(item)关联的‘idat’或‘mdat’中获取信息。
g) 动态范围扩展处理元数据 ExtendInfo中的其他信息:
1) 如果是JPEG 文件,则:
根据9.2.3a)从增强图像子格式部分获取。
也可根据9.2.3b)从基本图像子格式部分,以及增强图像子格式部分的ICC APP2中获取信息。
2) 如果是 HEIF文件,则:
• 使用9.3.6 从动态范围扩展处理元数据子格式部分‘it35’封装关联的‘idat’的中获取。
也可使用9.3.4c)从‘tmap’项(item)关联的‘idat’或‘mdat’以及基本图像子格式部分,以及动态范围扩展元数据子格式部分的colr中获取信息。
10.2.3 获取基本图像数据
输入:从基本图像子格式部分获得的解码基本图像数据 PicBaseDecoder,基本图像数据的属性信息元数据 Baseline image colorimetry Info,动态范围扩展处理元数据 ExtendInfo。
输出:基本图像数据picBaseAfter。
主要包含的处理过程如下。
a) 若基本图像的属性信息 Baseline image colorimetry Info 和动态范围扩展的色彩信息Gain map Application color space均为 CICP类型的信息。
1 ) 色彩模型转换
若基本图像的属性信息 Baseline image colorimetry Info和动态范围扩展的色彩信息Gain map Application color space的色彩模型 ColorModel不同,则需转换色彩模型;根据 BaseInfo的 MatrixCoefficients的指示,先转换 PicBaseDecoder至 RGB空间。
2 ) 传递函数转换
若基本图像的属性信息 Baseline image colorimetry Info和动态范围扩展的色彩信息Gain map Application color space的传递函数 TransFunction信息不同,则需转换传递函数格式;
根据基本图像的属性信息 Baseline image colorimetry Info的 TransFunction的指示,先转换 PicBaseDecoder至线性空间。
3转)换/映射
包含色域以及其他转换:
若基本图像的属性信息和动态范围扩展的色彩信息 CombineColorInfo的色域空间 ColorPrimary信息不同,则需要转换到 CombineColorPrimary对应的色域空间;
首先,若BaseMappingFlag为真,则根据BaseMa
pping
以及base_mapping_matrix获取的映射关系base_TMB1对 PicBaseDecoder进行转换处理;
否则根据 BaseColorPrimary 和 CombineColorPrimary,先按照 BaseColorPrimary 从RGB转换PicBaseDecoder至CIE XYZ空间,再按照CombineColorPrimary从 XYZ转换PicBaseDecoder至 RGB;
接着,对获得的像素进行转换,加上 Baseline image offset。
注1:同样的方式见ITU-R BT.2087中的3×3矩阵。
注2:符合ISO 21496-1的规定:在 Annex B colour conversion与 Gain map application space colour primaries metadata相关的转换流程。
4 ) 传递函数转换
如果动态范围扩展的色彩信息 Gain map Application color space的传递函数 CombineTransFunction信息和线性域格式不同,则需转换到 CombineTransFunction对应的传递函数格式。
注3:符合ISO 21496-1的规定,CombineTransFunction指示线性,则不进行当前步骤。
5 ) 色彩模型转换
如果动态范围扩展的色彩信息 Gain map Application color space的色彩模型ColorModel和 RGB色彩模型不同,则需转换到 CombineColorMode对应的色彩模型。
注4:符合ISO 21496-1的规定,CombineColorMode指示 RGB,则不进行当前步骤。
b) 若基本图像的属性信息 Baseline image colorimetry Info仅包含ICC(不含 CICP)的信息:
1) 根据ICCprofile信息,将基本图像数据转换到ICC PCS(nCIE XYZ)空间;
2) 根据 Gain map Application color space的 ColorModel、TransFunction、ColorPrimary将基本图像数据从ICC PCS空间转换到相应格式;
3) 色彩模型转换1:从ICC PCS(nCIE XYZ)空间转到线性 RGB;
4) 传递函数转换:如果动态范围扩展的色彩信息 Gain map Application color space的传递函数CombineTransFunction 信息和线性域格式不同,则需转换到 CombineTransFunction 对应的传递函数格式;
注5:符合ISO 21496-1的规定,CombineTransFunction指示线性,则不进行当前步骤。
5) 色彩模型转换2:如果动态范围扩展的色彩信息 Gain map Application color space的色彩模型 ColorModel和 RGB 色彩模型不同,则需转换到 CombineColorMode对应的色彩模型。
注6:符合ISO 21496-1的规定,CombineColorMode指示 RGB,则不进行当前步骤。
10.2.4 获取增强图像数据
输入:从增强图像子格式获得的解码增强图像数据 PicEnhanceDecoder,增强图像的属性信息 EnhanceDataInfo,动态范围扩展处理元数据 ExtendInfo。
输出:增强图像数据picEnhanceAfter。
应包含的处理过程如下:
若 ExtendInfo中包含的 EnhanceDataInfo信息存在,则进行色彩模型转换:
如果 PicEnhanceDecoder和动态范围扩展的色彩信息 Gain map Application color space的色彩模型 MatrixCoefficients信息不同,则需转换到 CombineColorMode对应的色彩模型。
注1:符合ISO 21496-1的规定,CombineColorMode指示 RGB。
注2:若 PicEnhanceDecoder为灰度图 Y,则将 RGB三个通道都设为 Y 的值。
10.2.5 获取提取的可选择图像数据及其元数据
输入:基本图像数据picBaseAfter,增强图像数据picEnhanceAfter,动态范围扩展处理元数据 ExtendInfo.
输出:HDR图像数据 HDRPic,图像属性语义PicInfo,静态元数据StaticMetadata,动态元数据 DynamicMetadata。
应包含的处理过程如下:
a) 根据基本图像和增强图像获取中间图像
注1:本过程符合ISO 21496-1的 Gain map application过程。
1) 增强图像的变化(逆映射/逆归一化):根据增强图像的变化信息,获取映射关系 TMB1,对于PicEnhanceDecoder进行处理,获取 picEnhanceAfter=TMB1(PicEnhanceDecoder),符合ISO 21496-1,见C.4;
2) 变采样:如果基本图像数据的分辨率(宽度或者高度上的像素数)与增强图像数据的分辨率不同,需要根据增强图像的上下采样参数对增强图像进行变采样操作,符合ISO 21496-1,也可依据 C.4;
注2:也将基本图像数据的分辨率与增强图像数据的分辨率都转换至提取的可选择图像的分辨率,但是结果会和符合ISO 21496-1规定的略有差别。
3) 转换:如果 PicEnhanceDecoder和 Gain map Application color space的传递函数CombineTransFunction不同,则需转换到 CombineTransFunction对应的传递函数;
注3:符合ISO 21496-1的规定,CombineTransFunction为线性,picEnhanceAfter=2^picEnhanceAfter。
4) 动态范围扩展操作:
对于picBaseAfter和picEnhanceAfter进行处理,获取recHDRMid,如下式:
recHDRMid=(picBaseAfter)× picEnhanceAfter。
若 Number of components为1,则:
recHDRMid[0]=(picBaseAfter[0])×picEnhanceAfter[0]
recHDRMid[1]=(picBaseAfter[1])×picEnhanceAfter[0]
recHDRMid[2]=(picBaseAfter[2])×picEnhanceAfter[0]
若 Number of components为3,则:
recHDRMid[0]=(picBaseAfter[0])×picEnhanceAfter[0]
recHDRMid[1]=(picBaseAfter[1])×picEnhanceAfter[1]
recHDRMid [ 2 ] = (picBaseAfter [ 2 ]) × picEnhanceAfter [ 2 ]
b) 根据中间图像获取提取的可选择图像:
获取提取的可选择图像:
HDRPic = recHDRMid
并从 ExtendInfo获取图像属性语义 PicInfo、静态元数据StaticMetadata、动态元数据 DynamicMetadata。
10.2.6 进行 HDR范围显示适配
输入:HDR图像数据 HDRPic,图像属性语义PicInfo,静态元数据StaticMetadata,动态元数据 DynamicMetadata,显示设备的显示信息。
输出:用于显示的 HDR图像数据recHDRAfter。
应包含的处理过程如下。
a) 图像格式转换
1 ) 色彩模型转换
转换 HDRPic至 RGB空间。
注1:符合ISO 21496-1的规定,CombineColorMode为 RGB,则不进行当前步骤。
2 ) 传递函数转换
转换 HDRPic至线性空间。
注2:符合ISO 21496-1的规定,CombineTransFunction为线性,则不进行当前步骤。
3 ) 转换
包含色域以及其他转换:
若 EnhanceColorPrimary 和 CombineColorPrimary 的色域空间 ColorPrimary 信息不同,则需要转换到 EnhanceColorPrimary对应的色域空间。
首先,对于获得的像素进行转换,减去 AlternateHDRImageOffset。
接着:
若 CombineMappingFlag为真,则根据 CombineMa pping 以及combined _mapping _matrix获取的映射关系recHDRmid对于 HDRPic进行转换处理;
否则根据 EnhanceColorPrimary 和 CombineColorPrimary,先按照 CombineColor-Primary从 RGB 转换 HDRPic至 CIE XYZ空间,再按照 EnhanceColorPrimary从XYZ转换 HDRPic至 RGB。
4 ) 传递函数转换
若 EnhanceTransFunction和 CombineTransFunction不同,则应转换到 EnhanceTrans-Function对应的格式。
注3:包含从 RGB到 EnhanceColorMode格式的转换。
b) 根据显示设备的显示亮度信息进行显示适配
应按照 GB/T 46269.1—2025的规定对 HDRPic进行 HDR显示适配处理:
获取目标显示信息;根据目标显示信息,获取色调映射曲线参数;再根据色调映射曲线对于获得的 HDR范围图像进行色调映射处理,最后进行显示或者其他后续处理。
11 获取SDR图像
11.1 从 HDR图像获取SDR图像的过程
11.1.1 概述
本章描述了按照10.2从双层分发格式获取 HDR 图像后,再获取 SDR 图像的过程;以及从双层分发格式的基本图像为 HDR图像获取SDR图像的过程:
a) 获取 HDR图像数据及其元数据;
b) 调用11.1.2获取标准图像数据。
11.1.2 获取SDR图像数据
输入:元数据信息 metadata,图像数据pic。
输出:SDR图像数据SDRpic,图像属性语义 PicInfo。
获得过程如下:
a) 若可获取增强图像gainmap,则按照10.2过程获得SDR图像数据;
b) 否则,如果元数据信息 metadata中存在动态元数据 DynamicMetadata,则根据动态元数据DynamicMetadata指示的过程,按照 GB/T 46269.1—2025的规定将图像数据转为 SDR 图像数据;
c) 如果元数据信息 metadata中不存在动态元数据 DynamicMetadata,宜按照 GB/T 46269.1— 2025的规定生成动态元数据,并将图像数据转为SDR图像数据。
11.2 从双层分发格式的基本图像获取SDR图像的过程
11.2.1 概述
过程如下:
a) 获取基本图像子格式部分文件包含元数据;
b) 调用11.2.2获取基本图像数据;
c) 调用11.2.3获取提取的可选择SDR图像。
11.2.2 获取基本图像数据
输入:从基本图像文件获得的图像数据 PicBaseDecoder,基本图像数据的属性信息 Baseline image colorimetry Info。
输出:基本图像数据picBaseAfter。
获得过程如下:
获取picBaseAfter等于 PicBaseDecoder。
11.2.3 获取提取的可选择SDR图像
输入:基本图像数据picBaseAfter,基本图像数据的属性信息 Baseline image colorimetry Info。
输出:提取的可选择SDR图像SDRPic(SDR图像数据recSDR,可选图像属性语义 PicInfo)。
获得过程如下:
a) 获取SDR 图像数据recSDR:若基本图像的属性信息 Baseline image colorimetry Info符合SDR图像数据格式,则令recSDR等于picBaseAfter;
b) 可获取图像属性信息 PicInfo:若基本图像的属性信息 Baseline image colorimetry Info符合SDR图像数据格式,则令 PicInfo等于 Baseline image colorimetry Info。
附录 A (资料性)
DRE-AIG的生成过程
主要流程如图 A.1所示

输入:HDR图像 HDRPic,HDR图像属性信息 HDRPicInfo,静态元数据staticMetadata,动态元数据dynamicMetadata,SDR图像SDRPic,SDR图像属性信息SDRPicInfo。
输出:基本图像baselineImage,增强图像gainmapImage,动态范围扩展处理元数据 ExtendInfo。生成过程如下。
a) 动态范围扩展的映射参数的生成:
1) 设置基本图像偏移量常数 Per Component Baseline Offset为0.0001;
2) 设置提取的可选择图像偏移量常数 Per Component Baseline Offset为0.0。
b) 将可选择图像的属性信息 Alternate image colorimetry Info设置为 HDRPicInfo。
c) 生成处理后的 HDR图像 HDRPicAfter:
1) 根据按照 GB/T 46269.1—2025中附录 A 的规定,先生成动态元数据;
2) 转换到 RGB;
3) 转换到线性空间;
4) 将 HDRPic转到log2域,并 HDRPicAfter=HDRPic。
d) 将基本图像的属性信息 Baseline image colorimetry Info设置为SDRPicInfo。
e) 生成处理后的SDR图像SDRPicAfter:
1) SDRPic为原始8bit SDR图像经JPEG/HEIF编码后解码的重建图像;
注1:如果使用原始8bit SDR图像直接作为SDRPic,需要考虑编码失真对于端到端质量的影响。
2) 将SDRPic转换到 RGB;
3) 将SDRPic转换到线性空间;
4) 对于 SDRPic进行色域变换等变换,并记录转换矩阵元数据 base_mapping_matrix(见ITU-R BT.2087中的3×3浮点矩阵);
过程中可利用 BaseMappingInfo对 SDRPic进行映射,也可不使用 BaseMappingInfo信息,此处信息和ICC一致,映射关系设为 TMN。
根据 TMN 以及基本图像偏移量常数,对于SDRPic进行变换,获得:
SDRPicAfter = TMN(SDRPic) + PerComponentBaselineOffset
之后将SDRPicAfter转换至log2域
f) 生成增强图像数据 EnhancedPic:
EnhancedPic = HDRPicAfter - SDRPicAfter
g) 根据默认的增强图像的上下采样参数对增强图像数据 EnhancedPic进行下采样。
h) 获取增强图像数据 EnhancedPic最大值 Per-component max gain map values。
i) 获取增强图像数据 EnhancedPic最小值 Per-component min gain map values。
注2:可根据 EnhancedPic的分布特征采取真正的最大值或者其他值。
j) 对于增强图像数据 EnhancedPic进行处理:
EnhancedPic=clip3(Per-component min gain map values,Per-component max gain map values,EnhancedPic)
EnhancedPic=(EnhancedPic-Per-component min gain map values)/(Per-component max gain map values-Per-component min gain map values)
k) 设置 CombineColorPrimary为与 EnhanceColorPrimary相同。
l) 设置 Per-component gamma values为1.0。
注3:可根据 EnhancedPic的分布特征采取其他值。
EnhancedPic=EnhancedPiĉPer-component gamma values
m) 将相关的数据赋值给 ExtendInfo。
n) 进行JPEG/HEIF编码前,先将 EnhancedPic转换至8bit定点、全精度(full)数据。
o) 将SDRPic设为基本图像,将 EnhancedPic设为增强图像并进行JPEG/HEIF 编码,将 ExtendInfo(含动态元数据)按照第9章文件格式编码为JPEG/HEIF文件。
附录 B (资料性)
ICC_profile建议
B.1 概述
当终端设备需要将ITU-R BT.2020色域的 HDR视频信号转为ITU-R BT.709色域的视频信号输出时,可依据ITU-R BT.2407-0:2017中第二章所列举的方式进行处理。
本附录描述了如何使用ICC_profile的推荐方法,推荐使用ICC V4.4以上版本。
B.2 sRGB/P3-D65 ICC_profile
可使用sRGB_profile见参考文献[4]或者 P3_profile见参考文献[5],可包含 CICP tag,见表 B.1。
| 字节位 | 字段长度/字节 | 内容 | 编码 |
| 0~3 | 4 | cicp'(636696370h) type signature | u(32) |
| 4~7 | 4 | Reserved, shall be set to 0 | u(32) |
| 8 | 1 | ColourPrimaries | u(8) |
| 9 | 1 | TransferCharacteristics | u(8) |
| 10 | 1 | MatrixCoefficients | u(8) |
| 11 | 1 | VideoFullRangeFlag | u(8) |
其中:
a) ColourPrimaries取值为1,标识使用sRGB/sYCC的三基色坐标和白点;
b) transferCharacteristics取值为13,标识使用sRGB/sYCC;
c) MatrixCoefficients取值为5,标识使用sYCC的转换矩阵。
B.3 HDR图像ICC_profile
HDR图像使用包含 CICP tag的ICC_profile,CICP tag见图5,其中:
a) ColourPrimaries取值为9,标识使用 BT.2020/BT.2100的三基色坐标和白点;
b) transferCharacteristics取值为16或者18,标识使用 PQ 或者 HLG;
c) MatrixCoefficients取值为9,标识使用 BT.2020/BT.2100的转换矩阵。
附录 C (资料性)
C.1 概述
本附录描述了关于元数据封装、文件格式、动态范围扩展处理的补充信息。
C.2 ISO 21496-1元数据封装
本条描述了 ISO 21496-1 规定的元数据封装,Extend_Info 和 Extend_Info_ Main 见表 C.1和表 C.2。
| 定义 | 描述符 |
| Extend_Info { | |
| flag | u(8) |
| base_headroom_numerator | u(32) |
| base_headroom_denominator | u(32) |
| alternate_headroom_numerator | u(32) |
| alternate_headroom_denominator | u(32) |
| for(i=0; i < number_of_components-1; i++){ | |
| extend_info_main | |
| } | |
| } |
其中,app_start_code:16位无符号数,APP标记,取值等于0xE2FF。
app_length:16位无符号数,APP长度。
iso_gainmap_tag:28个 UTF-8字符,APP标记,取值等于‘urn:iso:std:iso:ts:21496:-1’。
version:32位无符号数,版本号,minimum_version等于(version&0xFF)。
flag:8位无符号数,标识,其中number_of_components等于[(flag>>7)&0x01]×2+1,use_base _colour_space等于[(flag>>6)&0x01],当use_base_colour_space为1,则将动态范围扩展的色彩信息 Gain map Application color space的 CombineColorPrimary设为等于 BaseColorPrimary,否则设为等于 EnhanceColorPrimary。
base_headroom_numerator和base_headroom_denominator,16位无符号数,如果基本图像是SDR图像,则设为0和1。
alternate_headroom_numerator和alternate_headroom_denominator,16位无符号数,如果提取的可选择图像数据是SDR图像,则设为0和1。
extend_Info_Main:表示每个通道的增强图像的变化信息(Per-component max gain map values、Per-component max gain map values、Per-component gamma values)和动态范围扩展的映射参数(BaselineSDRImageOffset、AlternateHDRImageOffset),相应元数据可根据7.2.7动态范围扩展处理元数据语义 ExtendInfo以及7.2.7.3动态范围扩展的变换信息 CombinedTransformInfo。
| 定义 | 描述符 |
| extend_Info_Main{ | |
| per_component_min_gain_map_numerator | i(32) |
| per_component_min_gain_map_denominator | u(32) |
| per_component_max_gain_map_numerator | i(32) |
| per_component_max_gain_map_denominator | u(32) |
| Per-component gamma values_numerator | u(32) |
| Per-component gamma values_denominator | u(32) |
| baseline_image_offset_numerator | i(32) |
| baseline_image_offset_denominator | u(32) |
| alternate_image_offset_numerator | i(32) |
| alternate_image_offset_denominator | u(32) |
| } |
其中,per_component_min_gain_map_numerator:32位有符号数,per_component_min_gain_map_ denominator:32位无符号数,表示增强图像的变化信息中的 Per-component min gain map,取值等于(per_component_min_gain_map_numerator÷per_component_min_gain_map_denominator)。
per_component_max_gain_map_numerator:32位有符号数,per_component_max_gain_map_denominator:32位无符号数,表示增强图像的变化信息中的Per-component max gain map,取值等于(per _component_max_gain_map_numerator÷ per_component_max_gain_map_denominator)。
Per-component gamma values_numerator和 Per-component gamma values_denominator:32位无符号数,表示动态范围扩展的映射参数中的 Per-component gamma values,取值等于(Per-component gamma values_numerator÷Per-component gamma values_denominator)。
baseline_image_offset_numerator:32位有符号数,baseline_image_offset_denominator:32位无符号数,表示动态范围扩展的映射参数中的 Baseline SDR image offset,取值等于(baseline_image_offset _numerator÷ baseline_image_offset_denominator)。
alternate_image_offset_numerator:32位有符号数,alternate_image_offset_denominator:32位无符号数,表示动态范围扩展的映射参数中的 Alternate HDR image offset,取值等于(alternate_image_ offset_numerator÷ alternate_image_offset_denominator)。
C.3 ISO 21496-1元数据JPEG格式
本条描述了ISO 21496-1规定的JPEG 中元数据格式,基本图像中的ISO Metadata APP2见表 C.3和表 C.4。
| 定义 | 描述符 |
| ISOMetadata APP{ | |
| app_start_code | f(16) |
| app_length | u(16) |
| iso_gainmap_tag | st(28) |
| payload | f(32) |
| } |
其中,app_start_code:16位无符号数,APP标记,取值等于0xE2FF。
app_length:16位无符号数,APP长度。
iso_gainmap_tag:28个 UTF-8字符,APP标记,取值等于‘urn:iso:std:iso:ts:21496:-1’。
payload:32位无符号数,版本号,取值等于0x0。
| 定义 | 描述符 |
| ISOMetadata APP{ | |
| app_start_code | f(16) |
| app_length | u(16) |
| iso_gainmap_tag | st(28) |
| version | u(32) |
| if(minimum_version==0){ | |
| Extend_Info | |
| } | |
| } |
其中,app_start_code:16位无符号数,APP标记,取值等于0xE2FF。
app_length:16位无符号数,APP长度。
iso_gainmap_tag:28个 UTF-8字符,APP标记,取值等于‘urn:iso:std:iso:ts:21496:-1’。
version:32位无符号数,版本号,minimum_version等于(version&0xFF)。
flag:8位无符号数,标识,其中number_of_components等于((flag>>7)×2+1,use_base_colour _space等于 ((flag> >6)&0x01),当 use_base_colour_space为 1,则将动态范围扩展的色彩信息Gain map Application color space的CombineColorPrimary设为等于BaseColorPrimary,否则设为等于EnhanceColorPrimary。
base_headroom_numerator和base_headroom_denominator,16位无符号数,如果基本图像是SDR图像,则设为0和1。
alternate_headroom_numerator和alternate_headroom_denominator,16位无符号数,如果基本图像是SDR图像,则设为0和1。
extend_Info_Main:表示每个通道的增强图像的变化信息(Per-component max gain map values、Per-component max gain map values、Per-component gamma values)和动态范围扩展的映射参数 (BaselineSDRImageOffset、AlternateHDRImageOffset),相应元数据可根据7.2.7动态范围扩展处理元数据语义 ExtendInfo以及7.2.7.3动态范围扩展的变换信息 CombinedTransformInfo。
C.4 ISO 21496-1的 Gain map application过程信息
本条描述了ISO 21496-1规定的 Gain map application,过程信息如下:
a) 增强图像的变化(逆映射/逆归一化)
根据增强图像的变化信息:
picEnhanceAfter=(Per-component max gain map values-Per-component min gain map values)
•PicEnhanceDecoder^(1/Per-component gamma values)+ Per-component min gain map values b) 变采样如果基本图像数据的分辨率(宽度或者高度上的像素数)与增强图像数据的分辨率不同,需要对增强图像进行变采样操作,保证基本图像数据/增强图像数据的上下采样、和增强图像数据的相位关系为共位(co-sited),即增强图像数据和增强图像数据的上下采样图像的左上角像素等预设位置像素的位置信息相同。
C.5 HEIF双层分发格式样例
FileTypeBox 'ftyp': major-brand='heic', compatible-brands='tmap, mif1, heic'
MetaBox 'meta': (container)
HandlerBox 'hdlr': 'pict'
PrimaryItemBox 'pitm': item_ID=1;
ItemInfoBox 'iinf': entry_count=4
1) 'infe': item_ID=1, item_type='hvc1';
2) 'infe': item_ID=2 (Hidden), item_type='hvc1';
3) 'infe': item_ID=3, item_type='tmap';
4) 'infe': item_ID=4, item_type='it35';
ItemLocationBox 'iloc': item_count=3
item_ID=1, extent_count=1, extent_offset=X, extent_length=Y;
item_ID=2, extent_count=1, extent_offset=P, extent_length=Q;
item_ID=3, extent_count=1, extent_offset=M, extent_length=N;
item_ID=4, extent_count=1, extent_offset=K, extent_length=L;
ItemReferenceBox 'iref':
referenceType='dimg', from_item_ID=3, ref_count=2, to_item_ID=1, to_item_ID=2;
ItemPropertyBoxes 'iprp':
ItemPropertyContainerBox 'ipco':
'ispe' 1
'pixi' 2
'hvcC' 3
'colr' 4
'clli' 5
'ispe' 6
'hvcC' 7
'colr' 8
'colr' 9
'pixi' 10
'clli' 11
'irot' 12
ItemPropertyAssociation 'ipma': entry_count=1
1) item_ID=1, association_count=6
essential=0, property_index=1;
essential=0, property_index=2;
essential=1, property_index=3;
essential=1, property_index=4;
essential=0, property_index=5;
essential=1, property_index=12;
2) item_ID=2, association_count=5
essential=0, property_index=2;
essential=0, property_index=6;
essential=1, property_index=7;
essential=1, property_index=8;
essential=1, property_index=12;
3) item_ID=3, association_count=5
essential=0, property_index=1;
essential=1, property_index=9;
essential=0, property_index=10;
essential=0, property_index=11;
essential=1, property_index=12;
ItemDataBox 'idat':
tmap data block (at file offset M, with length N)
GroupsListBox 'grpl':
EntityToGroupBox 'altr': group_id=5, num_entities_in_group=2
entity_id=3;
entity_id=1;
MediaDataBox 'mdat':
HEVC Image (at file offset X, with length Y)
HEVC Image (at file offset P, with length Q)
it35 data block (at file offset K, with length L)



评论