T/SUCA 024.2-2024 信息技术 面向机器智能的数据编码 第2部分:图像
T/SUCA 024.2-2024 Information Technology: Data Encoding for Machine Intelligence Part 2: Images
基本信息
发布历史
-
2024年05月
研制信息
- 起草单位:
- 浙江大学、中国科学技术大学、中国电子技术标准化研究院、中国电信股份有限公司上海研究院、浙江大学宁波科创中心、宁波东方理工大学(暂名)、上海工程技术大学、深圳市8K超高清视频产业协作联盟、中国移动杭州研究院、中国科学院计算技术研究所、中国电信天翼视联科技有限公司、杭州海康机器人股份有限公司、华为技术有限公司、南京大学
- 起草人:
- 虞露、陈志波、于化龙、李婧欣、张园、金鑫、王慧芬、纪雯、罗传飞、赵海武、王莉、赵寅、马展、邱溥业、程宝平、雷珺、何淇淇、刘澳、刘佳旺、冯若愚、高依欣、刘津铭、贾可、戚云鹏、李鑫、张畅、田港一、杨嘉欣
- 出版信息:
- 页数:60页 | 字数:- | 开本: -
内容描述
35040
ICS.
71
L
团体标准
T/SUCA024.2—2024
信息技术面向机器智能的数据编码
第2部分:图像
Informationtechnology—Datacodingformachines—
Part2:Image
2024-05-20发布2024-05-21实施
深圳市8K超高清视频产业协作联盟发布
T/SUCA024.2—2024
目次
前言..................................................................................................................................................................III
引言....................................................................................................................................................................IV
1范围.............................................................................1
2规范性引用文件...................................................................1
3术语和定义.......................................................................1
4缩略语...........................................................................3
5约定.............................................................................3
6位流的语法和语义................................................................18
7解析过程........................................................................26
8解码过程........................................................................30
附录A(规范性)伪起始码方法.......................................................44
附录B(规范性)档次...............................................................45
附录C(规范性)神经网络模型参数...................................................47
附录D(规范性)解析过程中使用的数据以及码表.......................................48
附录E(资料性)特征适配............................................................56
I
T/SUCA024.2—2024
前言
本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定
起草。
本文件是T/SUCA024《信息技术面向机器智能的数据编码》的第2部分,T/SUCA024《信息技术
面向机器智能的数据编码》已经发布了以下部分:
——第2部分:图像。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由深圳市8K超高清视频产业协作联盟提出并归口。
本文件起草单位:浙江大学、中国科学技术大学、中国电子技术标准化研究院、中国电信股份有限
公司上海研究院、浙江大学宁波科创中心、宁波东方理工大学(暂名)、上海工程技术大学、深圳市8K
超高清视频产业协作联盟、中国移动杭州研究院、中国科学院计算技术研究所、中国电信天翼视联科技
有限公司、杭州海康机器人股份有限公司、华为技术有限公司、南京大学。
文件主要起草人:虞露、陈志波、于化龙、李婧欣、张园、金鑫、王慧芬、纪雯、罗传飞、赵海武、
王莉、赵寅、马展、邱溥业、程宝平、雷珺、何淇淇、刘澳、刘佳旺、冯若愚、高依欣、刘津铭、贾可、
戚云鹏、李鑫、张畅、田港一、杨嘉欣。
III
T/SUCA024.2—2024
引言
T/SUCA024旨在确立面向机器智能的媒体压缩的方法,拟由8个部分构成。
——第1部分:应用系统参考模型。目的在于确立面向机器智能的数据编码的应用系统参考模型。
——第2部分:图像。目的在于确立面向机器智能的数据编码的图像压缩方法。
——第3部分:系统。目的在于确立面向机器智能的数据编码的系统组织方法。
——第4部分:数据表征。目的在于确立面向机器智能的数据编码的数据表征方法。
——第5部分:结构化数据流。目的在于确立面向机器智能的数据编码的结构化数据压缩方法。
——第6部分:结构化数据完整度及质量等级。目的在于确立面向机器智能的数据编码的结构化数
据完整度及质量等级评定方法。
——第7部分:符合性测试。目的在于确立面向机器智能的数据编码的符合性测试方法。
——第8部分:数据压缩。目的在于确立面向机器智能的数据编码的数据压缩方法。
IV
T/SUCA024.2—2024
面向机器智能的数据编码第2部分:图像
1范围
本文件规定了适应多种比特率、分辨率和质量要求的面向机器智能的图像压缩方法的解码过程。
本文件适用于安防监控、计算机视觉、无人驾驶、内容审核等面向机器智能相关应用的图像压缩。
2规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,
仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本
文件。
GB/T33475.2—2016信息技术高效多媒体编码第2部分:视频
3术语和定义
GB/T33475.2—2016界定的以及下列术语和定义适用于本文件。
3.1
残差residual
张量元素的重建值与其预测值(3.9)的差值。
3.2
反量化dequantization
对被量化过的数据进行变换得到浮点数的过程。
3.3
档次profile
T/SUCA024中语法、语义及算法的子集。
[来源:GB/T33475.2—2016,3.8,有修改]
3.4
图像image
一帧组成的纹理信息的集合。
3.5
位串bitstring
由有限个二进制位组成的有序序列。
注:其最左边位是最高有效位(MSB),最右边位是最低有效位(LSB)。
[来源:GB/T33475.2—2016,3.55,有修改]
3.6
位流bitstream
编码图像 所形成的二进制数据流。
[来源:GB/T33475.2—2016,3.56]
3.7
预测prediction
1
T/SUCA024.2—2024
根据先前已解码的张量元素(3.14)估计待解码的张量元素(3.14)的具体实现。
3.8
预测补偿predictioncompensation
对语法元素解码所得张量元素(3.14)的残差(3.1)和其对应预测值(3.9)进行求和的过程。
3.9
预测值predictionvalue
在张量元素(3.14)的解码过程中,用到的先前已解码的张量元素(3.14)的组合。
3.10
语法元素syntaxelement
位流中的数据单元解析后的结果。
3.11
字节byte
8位的位串(3.5)。
[来源:GB/T33475.2—2016,3.79]
3.12
字节对齐bytealignment
将字节(3.11)按照一定规则排列的方式。
注:从位流(3.6)的第一个二进制位开始,某二进制位的位置是8的整数倍。
[来源:GB/T33475.2—2016,3.80,有修改]
3.13
特征feature
包含通道、宽度和高度等信息的三维张量数据。
3.14
张量元素tensorelement
张量中给定通道、行和列等位置上的数据。
3.15
左上角left-uppercorner
张量中第0行第0列的空间位置。
3.16
右下角right-bottomcorner
张量中最后一行最后一列的空间位置。
3.17
超先验hyperprior
对低分辨率图像张量数据的先验信息。
3.18
特征张量featuretensor
图像(3.4)经过降采样得到的张量。
3.19
卷积核 convolutionkernel
一个包括通道、宽和高等三维的权重张量数据。
注:用于和输入的张量进行卷积得到输出的张量中的一个通道的所有张量元素。
2
T/SUCA024.2—2024
4缩略语
下列缩略语适用于本文件。
CNN:卷积神经网络(ConvolutionalNeuralNetwork)
CDF:累积分布函数(CumulativeDistributionFunction)
FPN:特征金字塔网络(FeaturePyramidNetwork)
LSB:最低有效位(LeastSignificantBit)
MSB:最高有效位(MostSignificantBit)
5约定
5.1通则
本章定义了本文件中使用的数学运算符及其优先级。在本文件中,当不使用括号改变运算符之间的
优先级时,默认按照如下方式进行计算:
——优先级高的运算符先于优先级低的运算符进行计算,运算符的优先级的值越小表示该运算符
的优先级越高;
——优先级相同的运算符按照从左到右的顺序依次计算。
除特别说明外,约定编号和计数从0开始。
5.2算术运算符
算术运算符定义见表1。
表1算术运算符定义
算术运算符优先级定义
+5加法运算
-5减法运算(二元运算符)或取反(一元前缀运算符)
*4乘法运算
ab3幂运算,表示a的b次幂。也可表示上标
/4整除运算,沿向0的取值方向截断。例如,7/4和-7/-4截断至1,-7/4和7/-4截断至-1
÷4除法运算,不做截断或四舍五入
𝑎
4除法运算,不做截断或四舍五入
𝑏
𝑏
∑𝑓(𝑖)5自变量i取由a到b(含b)的所有整数值时,函数𝑓(𝑖)的累加和
𝑖=𝑎
a%b4模运算,a除以b的余数,其中a与b都是正整数
⌈⌉4向上取整
5.3 逻辑运算符
逻辑运算符定义见表2。
3
T/SUCA024.2—2024
表2逻辑运算符定义
逻辑运算符优先级定义
!2逻辑非运算
express?a:b11如果表达式express的结果为真或不为0,则使用a进行赋值;否则,使用b进行赋值
5.4关系运算符
关系运算符定义见表3。
表3关系运算符定义
关系运算符优先级定义
>7大于
>=7大于或等于
<7小于
<=7小于或等于
==8等于
!=8不等于
5.5位运算符
位运算符定义见表4。
表4位运算符定义
位运算符优先级定义
&9与运算
|10或运算
~2取反运算
a>>b6将a以2的补码整数表示的形式向右移b位。仅当b取正数时定义此运算
a<<b6将a以2的补码整数表示的形式向左移b位。仅当b取正数时定义此运算
5.6赋值
赋值运算定义见表5。
表5赋值运算定义
赋值运算优先级定义
=12赋值运算符
++1递增,x++相当于x=x+1。当用于数组下标时,在自加运算前先求变量值
--1递减,x--相当于x=x–1。当用于数组下标时,在自减运算前先求变量值
+=12自加指定值,例如x+=3相当于x=x+3,x+=(-3)相当于x=x+(-3)
-=12自减指定值,例如x-=3相当于x=x-3,x-=(-3)相当于x=x-(-3)
4
T/SUCA024.2—2024
5.7数学函数
数学函数定义见公式(1)和公式(2)。
Ceil()xx=..................................(1)
式中:
x——自变量x。
i;xi
Clip3(i,j,x)=j;xj.............................(2)
x;其他
式中:
x——自变量x;
i——下界;
j——上界。
5.8结构关系符
结构关系符定义见表6。
表6结构关系符
结构关系符定义
->例如:a->b表示a是一个结构,b是a的一个成员变量
5.9位流语法、解析过程和解码过程的描述方法
5.9.1描述方法
位流的语法元素使用粗体字表示,每个语法元素通过名字(用下划线分割的英文字母组,所有字母
都是小写)、语法和语义来描述。语法表和正文中语法元素的值用常规字体表示。
某些情况下,可在语法表中应用从语法元素导出的其他变量值,这样的变量在语法表或正文中用不
带下划线的小写字母和大写字母混合命名。
语法元素值的助记符和变量值的助记符与它们的值之间的关系在正文中说明。在某些情况下,二者
等同使用。助记符由一个或多个使用下划线分隔的字母组表示,每个字母组以大写字母开始,也可包括
多个大写字母。
函数的参数使用下划线分割的英文字母组表示,所有字母都是小写。
条件语句中0表示FALSE,非0表示TRUE。
语法表描述了所有符合本文件的位流语法的超集,附加的语法限制在相关条中说明。
表7给出了描述语法的伪代码例子。当语法元素出现时,表示从位流中读一个数据单元。
表7语法描述的伪代码
伪代码描述符
/*语句是一个语法元素的描述符,或者说明语法元素的存在、类型和数值,
下面给出两个例子。*/
5
T/SUCA024.2—2024
表7语法描述的伪代码(续)
伪代码描述符
syntax_elementne(v)
conditioningstatement
/*花括号括起来的语句组是复合语句,在功能上视作单个语句。*/
{
statement
…
}
/*“while”语句测试condition是否为TRUE,如果为TRUE,则重复执行循环
体,直到condition不为TRUE。*/
while(condition)
statement
/*“do…while”语句先执行循环体一次,然后测试condition是否为TRUE,
如果为TRUE,则重复执行循环体,直到condition不为TRUE。*/
do
statement
while(condition)
/*“if…else”语句首先测试condition,如果为TRUE,则执行primary语句,
否则执行alternative语句。如果alternative语句不需要执行,结构的“else”部
分和相关的alternative语句可忽略。*/
if(condition)
primarystatement
else
alternativestatement
/*“for”语句首先执行initial语句,然后测试condition,如果conditon为
TRUE,则重复执行primary语句和subsequent语句直到condition不为TRUE。*/
for(initialstatement;condition;subsequentstatement)
primarystatement
/*“break”语句用于do-while、while和for循环体中,可使当前循环体立即终
止循环。*/
break
解析过程和解码过程用文字和与语法描述相同的伪代码描述。
6
T/SUCA024.2—2024
5.9.2函数
概述
以下函数用于语法描述。假定解码器中存在一个位流指针,这个指针指向位流中要读取的下一个二
进制位的位置。函数由函数名及左右圆括号内的参数构成。函数也可没有参数。
byte_aligned()
如果位流的当前位置是字节对齐的,返回TRUE,否则返回FALSE。
next_bits(n)
返回位流的随后n个二进制位,MSB在前,不改变位流指针。如果剩余的二进制位少于n,则返回0。
read_bits(n)
返回位流的随后n个二进制位,MSB在前,同时位流指针前移n个二进制位。如果n等于0,则返回0,
位流指针不前移。
函数也用于解析过程和解码过程的描述。
5.9.3描述符
描述符表示不同语法元素的解析过程(见表8)。
表8描述符
描述符说明
n位无符号整数。在语法表中,如果n是“v”,其位数由其他语法元素值确定。解析过程在7.2中定
u(n)
义
f(n)取特定值的连续n个二进制位。解析过程在7.3中定义
ne(v)有符号整数语法元素。解析过程使用基于神经网络的概率估计和数值熵解析,在7.4中定义
le(v)无符号整数语法元素。解析过程使用码表解析,在7.5中定义
5.9.4保留、禁止和标记位
本文件定义的位流语法中,某些语法元素的值被标注为“保留”(reserved)或“禁止”(forbidden)。
“保留”定义了一些特定语法元素值用于将来对本文件的扩展。这些值不应出现在符合本文件的位
流中。
“禁止”定义了一些特定语法元素值,这些值不应出现在符合本文件的位流中。
注:禁止某些值的目的通常是为了避免在位流中出现伪起始码。
“标记位”(marker_bit)指该位的值应为‘1’。
位流中的“保留位”(reserved_bits)表明保留了一些语法单元用于将来对本文件的扩展,解码处理
应忽略这些位。“保留位”不应出现从任意字节对 齐位置开始的21个以上连续的‘0’。
7
T/SUCA024.2—2024
5.10数据形式
5.10.1张量和张量中的元素
张量拥有至少三个维度,以下以拥有三个维度的张量举例说明其描述方法,拥有四个维度或更多维
度的张量的描述方法依此类推。
T[:c][:h][:w]代表一个通道数为c、高度为h和宽度为w的张量,其中c、h、w均为正数。当不需要
强调张量的各个维度的大小时,T[:c][:h][:w]可以简写为T。
对于张量T,T[i][j][k]代表一个由i、j、k索引确定的张量元素,表示张量T中第i个通道第j行第k
列的张量元素。
对于张量T,T[:c][j1:j2][:w]代表第2个维度从j1索引到(j2-1)索引确定的所有元素,其中j1为小于
h的非负整数,j2为不大于h且大于j1的非负整数。当j1不出现时,默认j1=0,当j2不出现时,默认j2为h。
依次类推,其他维度上由给定索引确定的所有元素的表示方法为T[i1:i2][:h][:w]、T[:c][:h][k1:k2]、
T[i1:i2][j1:j2][:w]、T[i1:i2][:h][k1:k2]、T[:c][j1:j2][k1:k2]。
5.10.2矩阵和矩阵中的元素
M[:h][:w]代表一个高度为h和宽度为w的矩阵,其中h、w均为正数。当不需要强调张量的各个维
度的大小时,M[:h][:w]可以简写为M。
对于矩阵M,M[j][k]代表一个由j、k索引确定的矩阵元素,表示矩阵M中第j行第k列的矩阵元素。
对于矩阵M,M[j][:w]代表第1个维度由j索引确定的所有元素。依次类推,其他维度上由给定索引
确定的所有元素的表示方法为M[:h][k]。
对于矩阵M,M[j1:j2][:w]代表第1个维度从j1索引到(j2-1)索引确定的所有元素,其中j1为小于h
的非负整数,j2为不大于h且大于j1的非负整数。当j1不出现时,默认j1的值为0,当j2不出现时,默认j2
的值为h。依次类推,其他维度上由给定索引确定的所有元素的表示方法为M[:h][k1:k2]。
5.10.3列表和列表中的元素
列表L[:a]代表一个长度为a的列表,其中a为正数。当不需要强调张量的各个维度的大小时,L[:a]
可以简写为L。
对于列表L,L[i]代表其中第i个列表元素。
对于列表L,L[i1:i2]代表从i1索引到(i2-1)索引确定的所有元素,其中i1为小于a的非负整数,i2为
不大于a且大于i1的非负整数。当i1不出现时,默认i1=0。
5.11二维卷积
二维卷积表示为Conv(c_in,c_out,s,k_ver,k_hor)(input,weight,bias),其中:
——c_in表示输入张量的通道数;
——c_out表示输出张量的通道数;
——s表示卷积步长;
——k_ver和k_hor表示卷积核的高和宽。
Conv的输入包括:
—— 输入张量input[:c_in][:h_in][:w_in];
——卷积核权重weight[:c_out][:c_in][:k_ver][:k_hor];
——偏置bias[:c_out],偏置的缺省值为0。
Conv的结果为:张量result[:c_out][:h_out][:w_out],其中:
——h_out=Ceil(h_in÷s);
8
T/SUCA024.2—2024
——w_out=Ceil(h_in÷s)。
解析和解码过程加载了神经网络的整套模型参数。Conv的weight和bias是该整套模型参数中的一部
分参数,在解析和解码过程中不再变化。此时Conv简略表示为Conv(c_in,c_out,s,k_ver,k_hor)(input)。
当在一系列操作中调用本条中定义的Conv且未明确设置输入张量的情况下,默认将输入张量设置
为该系列操作中当前操作的前一个操作的输出张量,此时Conv简略表示为
Conv(c_in,c_out,s,k_ver,k_hor)。
Conv执行以下计算操作:
Conv(c_in,c_out,s,k_ver,k_hor)(input,weight,bias){
for(i=0;i<c_out;i++){
for(j=0;j<h_out;j++){
for(k=0;k<w_out;k++){
output[i][j][k]=0
for(x=0;x<c_in;x++){
for(y=0;y<k_ver;y++){
for(z=0;z<k_hor;z++){
j1=(j*s)-(k_ver-1)/2+y
k1=(k*s)-(k_hor-1)/2+z
temp=(j1<0||j1>=h_in||k1<0||k1>=w_in)?0:input[x][j1][k1]
output[i][j][k]+=weight[i][x][y][z]*temp
}
}
}
output[i][j][k]+=bias[i]
}
}
}
}
5.12超分重组
超分重组表示为Shuffle(s_vh)(input),其中,参数包括:s_vh表示高度和宽度的放大倍数。
Shuffle的输入为:输入张量input[:c_in][:h_in][:w_in],且c_in应是s_vh*s_vh的整数倍。
Shuffle的结果为:张量output[:c_out][:h_out][:w_out],其中:
——h_out=s_vh*h_in;
——w_out=s_vh*w_in;
——c_out=c_in/(s_vh*s_vh)。
当在一系列操作中调用本条中定义的Shuffle且未明确设置输入张量的情况下,默认将输入张量设置
为该系列操作中当前操作的前一个操作的输出张量,此时Shuffle简略表示为Shuffle(s_vh)。
Shuffle 执行以下计算操作:
Shuffle(s_vh)(input){
for(i=0;i<c_out;i++)
for(j=0;j<h_out;j++)
for(k=0;k<w_out;k++)
9
T/SUCA024.2—2024
output[i][j][k]=input[i*s_vh*s_vh+(j%s_vh)*s_vh+(k%s_vh)][j/s_vh][k/s_vh]
}
5.13交叉超分重组
交叉超分重组表示为CrossUpShuffle(input)。
CrossUpShuffle的输入为:输入张量input[:c_in][:h_in][:w_in],其中c_in应是4的整数倍。
CrossUpShuffle的结果为:张量output[:c_out][:h_out][:w_out],其中:
——h_out=2*h_in;
——w_out=2*w_in;
——c_out=c_in/4。
当在一系列操作中调用本条中定义的CrossUpShuffle且未明确设置输入张量的情况下,默认将输入
张量设置为该系列操作中当前操作的前一个操作的输出张量,此时CrossUpShuffle简略表示为
CrossUpShuffle()。
CrossUpShuffle执行以下计算操作:
CrossUpShuffle(input){
for(i=0;i<c_out;i++){
for(j=0;j<h_in;j++){
for(k=0;k<w_in;k++){
output[i][j*2][k*2]=input[i*4][j][k]
output[i][j*2][k*2+1]=input[i*4+2][j][k]
output[i][j*2+1][k*2]=input[i*4+3][j][k]
output[i][j*2+1][k*2+1]=input[i*4+1][j][k]
}
}
}
}
5.14交叉降分重组
降分重组表示为CrossDownShuffle(input)。
CrossDownShuffle的输入为:输入张量input[:c_in][:h_in][:w_in],其中h_in和w_in均应是2的整数
倍。
CrossDownShuffle的结果为:张量output[:c_out][:h_out][:w_out],其中:
——h_out=h_in/2;
——w_out=w_in/2;
——c_out=c_in*4。
当在一系列操作中调用本条中定义的CrossDownShuffle且未明确设置输入张量的情况下,默认将输
入张量设置为该系列操作中当前操作的前一个操作的输出张量,此时 CrossDownShuffle简略表示为
CrossDownShuffle()。
CrossDownShuffle执行以下计算操作:
CrossDownShuffle(input){
10
定制服务
推荐标准
- JJF 2210-2025 取水计量数据质量控制技术规范 2025-02-08
- JJF 2185-2025 机动车轮胎花纹深度自动测量仪校准规范 2025-02-08
- GA/T 701-2024 安全防范 指纹识别应用 出入口控制指纹识别模块通用规范 2024-09-05
- JJF 2197-2025 频标比对器校准规范 2025-02-08
- JJF 2198-2025 网络时间服务器校准规范 2025-02-08
- JJF 2188-2025 冰点恒温器校准规范 2025-02-08
- JJF 1282-2025 时间继电器校准规范 2025-02-08
- JJF 1183-2025 温度变送器校准规范 2025-02-08
- JJF 2195-2025 秒表校准规范 2025-02-08
- JJF 2200-2025 长波模拟器校准规范 2025-02-08