一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像编码方法、图像解码方法、装置以及计算机存储介质与流程

2022-11-19 07:52:18 来源:中国专利 TAG:


1.本技术涉及特征压缩技术领域,特别是涉及一种图像编码方法、图像解码方法、装置以及计算机存储介质。


背景技术:

2.传统的图像压缩技术是针对人类视觉特性设计的,而随着深度神经网络在各项机器视觉任务中展现出的优越性能,例如图像分类、目标检测、语义分割等,涌现出大量基于机器视觉的人工智能应用。为了保证机器视觉任务的性能不因图像压缩过程而受损,采取先分析后压缩的模式应对机器视觉需求,即在图像获取端直接将无损的图像通过神经网络进行特征提取,然后对所提取的特征进行编码传输,解码端直接利用解码后的特征输入到后续网络结构中完成不同的机器视觉任务。因此,为了节省传输带宽资源,需要研究针对机器视觉的图像编码方法。
3.目前的特征压缩算法主要有两大类:基于传统的压缩方法和基于学习的方案。其中基于传统的压缩方法主要有以下几种,一是通过使用低精度的数据类型来替代高精度的数据类型,从而减少原始特征数据所占用的空间,但是其本质上并不是真正的对特征数据的压缩,而是从计算机存储的角度来实现的;二是通过降维的方式,例如pca(主成分分析法),来提取原始特征数据的主要数据成分信息,从而可以使用低维度的数据来大体上表示原始数据的信息,属于有损压缩。三是混合编码器方案,即先将深度特征进行量化,然后使用例如高效率视频编码(hevc)、h.266/vvc等编码器对量化后的特征进行有损编码。该方案的缺点在于,混合编码器的有损压缩降质与特征在进行视觉分析任务时性能的降质不一致,会导致特征无法提供视觉分析需要的重要信息。


技术实现要素:

4.本技术提供一种图像编码方法、图像解码方法、装置以及计算机存储介质。
5.本技术采用的一个技术方案是提供一种图像编码方法,所述图像编码方法包括:
6.获取待编码图像,并提取所述待编码图像的原始特征数据;
7.对所述原始特征数据进行映射处理,获取映射特征数据,其中,所述映射特征数据的数据量小于所述原始特征数据的数据量;
8.对当前特征维度的所述映射特征数据进行特征维度变换,得到预设编码工具支持的特征维度的编码特征数据;
9.利用所述预设编码工具对所述编码特征数据进行编码,得到所述待编码图像的特征码流。
10.其中,所述提取所述待编码图像的原始特征数据之后,所述对所述原始特征数据进行映射处理,获取映射特征数据之前,所述图像编码方法还包括如下至少一种处理:
11.对所述原始特征数据按照预设数据规律进行重排序;
12.利用预设主成分分析矩阵对所述原始特征数据进行降维处理;
13.对所述原始特征数据进行下采样处理。
14.其中,所述对所述原始特征数据进行映射处理,以获取映射特征数据,包括:
15.获取所有原始特征数据的最大值,以及每个原始特征数据的浮点数据;
16.按照预设映射函数,利用所述最大值对每个原始特征数据的浮点数据进行映射,得到每个原始特征数据的整型数据作为映射特征数据。
17.其中,所述按照预设映射函数,利用所述最大值对每个原始特征数据的浮点数据进行映射,得到每个原始特征数据的整型数据作为映射特征数据,包括:
18.按照所述预设映射函数,获取映射范围;
19.利用所述映射范围以及所述最大值,确定每个原始特征数据的初始映射特征数据;
20.将每个初始映射特征数据的浮点数据通过所述预设映射函数中的四舍五入函数进行处理,将所述浮点数据的第一整数部分数值保留,对所述浮点数据的小数部分数值经过四舍五入处理,得到第二整数部分数值,将所述第一整数部分数值和所述第二整数部分数值相加,得到所述每个原始特征数据的整型数据作为映射特征数据。
21.其中,所述对所述原始特征数据进行映射处理,以获取映射特征数据,包括:
22.将所述原始特征数据与预设倍数的乘积,确定为初始映射特征数据;
23.将初始映射特征数据的浮点数据经过四舍五入处理,将所述浮点数据的第三整数部分数值保留,对所述浮点数据的小数部分数值经过四舍五入处理,得到第四整数部分数值,将所述第三整数部分数值和所述第四整数部分数值相加,得到所述每个原始特征数据的整型数据作为映射特征数据。
24.其中,所述对所述原始特征数据进行映射处理,以获取映射特征数据,包括:
25.对所有原始特征数据进行聚类,以获取两两原始特征数据之间的相似度;
26.将相似度大于等于预设相似度阈值的若干原始特征数据映射到同一原始特征数据;
27.将所有原始特征数据映射后的结果作为所述映射特征数据。
28.其中,所述对当前特征维度的所述映射特征数据进行特征维度变换,得到预设编码工具支持的特征维度的编码特征数据,包括:
29.将所述当前特征维度的映射特征数据转换为所述预设编码工具所支持的特征维度的空域数据或者时域数据;
30.其中,所述预设编码工具与所述原始特征数据的数据格式关联。
31.其中,所述利用所述预设编码工具对所述编码特征数据进行编码,得到所述待编码图像的特征码流,包括:
32.利用所述预设编码工具对所述编码特征数据进行编码,得到所述待编码图像的初始特征码流;
33.将特征编码过程信息,添加到所述初始特征码流,形成所述待编码图像的特征码流;
34.其中,所述特征编码过程信息至少包括:映射方式索引、映射参数、维度转换方式索引、维度转换参数、编码工具索引、编码工具参数中的一个或多个。
35.本技术采用的另一个技术方案是提供一种图像解码方法,所述图像编码方法包
括:
36.获取特征码流;
37.对所述特征码流进行解码,得到解码特征数据;
38.按照预设编码工具支持的特征维度对所述解码特征数据进行特征维度反变换,得到映射特征数据;
39.将所述映射特征数据进行反映射处理,得到所述特征码流的原始特征数据,其中,所述原始特征数据的数据量大于所述映射特征数据的数据量;
40.对所述原始特征数据进行重建,得到重建图像。
41.本技术采用的另一个技术方案是提供一种图像编码装置,所述图像编码装置包括存储器以及与所述存储器耦接的处理器;
42.其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的图像编码方法。
43.本技术采用的另一个技术方案是提供一种图像解码装置,所述图像解码装置包括存储器以及与所述存储器耦接的处理器;
44.其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的图像解码方法。
45.本技术采用的另一个技术方案是提供一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如上述的图像编码方法和/或图像解码方法。
46.本技术的有益效果是:图像编码装置获取待编码图像,并提取所述待编码图像的原始特征数据;对所述原始特征数据进行映射处理,获取映射特征数据,其中,所述映射特征数据的数据量小于所述原始特征数据的数据量;对当前特征维度的所述映射特征数据进行特征维度变换,得到预设编码工具支持的特征维度的编码特征数据;利用所述预设编码工具对所述编码特征数据进行编码,得到所述原始特征数据的特征码流。本技术的图像编码方法提供一套完整的图像编码流程,可以对各种类型的图像特征数据进行编码,提高图像编码的泛化性。
附图说明
47.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
48.图1是本技术提供的图像编码方法一实施例的流程示意图;
49.图2是本技术提供的图像编码方法总流程的示意图;
50.图3是本技术提供的编码码流结构示意图;
51.图4是本技术提供的图像解码方法一实施例的流程示意图;
52.图5是本技术提供的图像解码方法总流程的示意图;
53.图6是本技术提供的图像编码装置一实施例的结构示意图;
54.图7是本技术提供的图像解码装置一实施例的结构示意图;
55.图8是本技术提供的计算机存储介质一实施例的结构示意图。
具体实施方式
56.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
57.具体请参阅图1和图2,图1是本技术提供的图像编码方法一实施例的流程示意图,图2是本技术提供的图像编码方法总流程的示意图。
58.如图1所示,本技术实施例的图像编码方法包括以下步骤:
59.步骤s11:获取待编码图像,并提取待编码图像的原始特征数据。
60.在本技术实施例中,图像编码装置获取输入的需要编码的图像,然后对该图像进行特征提取,得到该图像的原始特征数据。其中,特征提取方式可以使用常见的特征提取网络等实现,在此不再赘述。
61.在本技术实施例中,特征数据的特征包括但不限于:1.特征维度为1*n,且n为正整数;2.所有特征数据均为浮点数。
62.在输入原始特征数据之后,图像编码装置可以利用预处理单元对原始特征数据进行预处理,使预处理后的特征数据更易被压缩。
63.具体地,预处理单元的作用在于对原始特征数据进行整理,以使得整理后的原始特征数据能够更利于后续步骤的特征映射、特征维度转换以及特征编码等流程。其中,本技术实施例的预处理单元对原始特征数据进行预处理的方式,包括但不限于降维,去冗余,能量集中等处理方式。下面列举三种可行的预处理方式:
64.1.重排序:将原始特征数据按照一定规律进行排序,可以是从大到小,从小到大,大小交错,中间小两边大等方法,本技术对重排序的具体排序方式在此不做限制。
65.2.降维:减少原始特征数据的个数,可以是使用pca(principal component analysis,即主成分分析方法)矩阵乘以特征数据得到1*m的简化的特征数据(m《n),也可以对原始特征数据进行下采样,或是其他可以减少特征数据个数的方法。本技术实施例采用pca通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。
66.3.dct(离散余弦变换)/dst(离散正弦变换)/fft(快速傅里叶变换)变换:可以对原始特征数据进行频域变换,将数据能量集中至低频区域。
67.步骤s12:对原始特征数据进行映射处理,获取映射特征数据,其中,映射特征数据的数据量小于原始特征数据的数据量。
68.在本技术实施例中,为了进一步降低原始特征数据的数据量,图像编码装置还可以利用映射单元将预处理后的原始特征数据进行空间映射或精度映射,或者同时使用空间映射和精度映射,进一步降低数据量。
69.具体地,映射单元将预处理后的原始特征数据进行空间映射或精度映射等处理,包括但不限于:浮点数映射成整数,对特征数据进行多对一映射等方式。下面列举三种可行的映射方式:
70.1.映射方法一:首先获取原始特征数据中的最大值,1.映射方法一:首先获取原始特征数据中的最大值,然后按照以下公式进行映射:
71.f

=round(f*2
t-1
/v
max
) 2
t-1
72.其中f

是映射后的整型数据,f是映射前的浮点数据,t是映射范围。最后,映射单元还可以对映射的整型数据在数值范围进行截断,即通过以下公式限定映射后的整型数据的数值范围:
73.f

=clip(f

,0,2
t-1
)。
74.2.映射方法二:将浮点数据放大a倍后四舍五入到整型数据。具体地,映射单元可以将每个原始特征数据的浮点数据按照预设倍数放大;然后,将放大后的每个浮点数据的第一整数部分数值保留,对浮点数据的小数部分数值经过四舍五入处理,得到第二整数部分数值,将第一整数部分数值和第二整数部分数值相加,得到每个原始特征数据的整型数据作为映射特征数据。
75.3.映射方法三:对预处理后的特征数据进行聚类操作,根据相似性进行映射。具体地,映射单元可以对所有原始特征数据进行聚类,以获取两两原始特征数据之间的相似度;然后将相似度大于等于预设相似度阈值的若干原始特征数据映射到同一原始特征数据;最后,将所有原始特征数据映射后的结果作为映射特征数据。映射单元通过聚类,以及对特征数据进行多对一映射的方式,能够有效减少原始特征数据的数量,减小原始特征数据的总数据量。
76.其中,上述的映射方法一和映射方法二属于精度映射处理,映射方法三属于空间映射处理。在一种实施方式中,图像编码装置可以单采用精度映射处理方式,也可以单采用空间映射处理方式,还可以同时采用精度映射处理方式以及空间映射处理方式。
77.步骤s13:对当前特征维度的映射特征数据进行特征维度变换,得到预设编码工具支持的特征维度的编码特征数据。
78.在本技术实施例中,为了适应不同特征维度的原始特征数据,以及各种不同特征维度的编码工具,图像编码装置还可以利用维度转换单元将步骤s12映射后的特征数据进行维度转换,使得维度转换后的特征数据可以使用预设编码工具进行特征编码。
79.具体地。维度转换单元的维度转换方式包括但不限于以下方法:
80.1.转换成空域数据:将映射后的数据由1*n变换成w*h的空域数据,1*n=w*h,空域数据可以使用图像编解码器进行编码。
81.2.转换成时域数据:将映射后的数据由m*n变换成n*w*h的时域数据,m*n=n*w*h,时域数据可以使用视频编解码器进行编码。
82.需要说明的是,本技术实施例的预设编码工具可以由工作人员根据原始特征数据指定,也可以由图像编码装置识别原始特征数据的特征类型以及特征性质自行决定。
83.步骤s14:利用预设编码工具对编码特征数据进行编码,得到待编码图像的特征码流。
84.在本技术实施例中,图像编码装置可以利用编码单元采用预设编码工具对维度转换后的特征数据进行编码,以得到初始特征码流。
85.具体地,编码单元将将维度转换后的数据压缩成码流,可以采用现有的编码工具进行压缩。其中,本技术采用的编码工具包括但不限于:
86.1.h.26x系列的编码器。
87.2.图像编码器,包括jpeg,bmp,tiff,png等编码器。
88.3.avs,svac,vp8,vp9,av1等其它编码器。
89.4.各类自研编解码器。
90.进一步地,图像编码装置还可以利用码流组织单元将预处理方法索引,预处理采用参数,映射方法索引,映射采用参数,维度转换方法索引,维度转换采用参数,编码器索引和编码器参数等特征编码过程信息,添加至初始特征码流中,形成原始特征数据的最终特征码流。
91.图像编码装置通过上述任意一种或多种特征编码过程信息编写到特征码流中,使得图像编码装置在后续的特征解码中,能够根据特征编码过程信息对特征码流进行重建,从而得到原始特征数据。
92.具体地,码流组织单元可以将预处理单元、映射单元、维度转换单元、编码单元中的关键信息添加至初始码流,得到最终的码流。
93.如图3所示,码流组织单元添加的信息包括但不限于:头信息、预处理信息、映射信息、维度转换信息、编码信息、初始码流信息。这些信息可以使用各种方法添加至码流中,包括但不限于:定长编码,零阶无符号指数哥伦布码,零阶有符号指数哥伦布码,映射指数哥伦布编码,截断(舍位)指数哥伦布编码等方法。
94.下面分别以上每种关键信息进行说明:
95.1.头信息:头信息包含本次编码所采用的的工具集flag信息,用以表示本次编码过程中使用了哪些工具集,包括pre_flag,map_flag,dim_flag和enc_flag。每个flag的值若为0,表示不开启该工具集,反之表示开启该工具集。
96.2.预处理信息:若pre_flag=1,表示开启预处理功能,预处理信息中会存放预处理相关信息,包括pre_index(预处理方法索引值),预处理所需传递的参数值(pca_matrix_index(pca矩阵索引值),sort_index(排序索引值),matrix_index(变换矩阵索引值)等)。
97.3.映射信息:若map_flag=1,表示开启映射功能,映射信息中会存放映射相关信息,包括map_index(映射方法索引值),映射所需传递的参数值(max_value(最大值),amp_coefficient(放大系数),standard_index(分类标准索引值)等)。
98.4.维度转换信息:若dim_flag=1,表示开启维度转换功能,维度转换信息中会存放维度转换相关信息,包括维度转换最终log2_width,log2_height(宽高值对2取对数),num_frame(最终数据帧数)等。
99.5.编码信息:若enc_flag=1,表示开启编码功能,编码信息中会存放编码器相关信息,包括enc_index(编解码器索引值),编解码器配置的参数值(bitrate(码率),delta_qp(量化系数)等。
100.在本技术实施例中,图像编码装置获取待编码图像,并提取所述待编码图像的原始特征数据;对所述原始特征数据进行映射处理,获取映射特征数据,其中,所述映射特征数据的数据量小于所述原始特征数据的数据量;对当前特征维度的所述映射特征数据进行特征维度变换,得到预设编码工具支持的特征维度的编码特征数据;利用所述预设编码工具对所述编码特征数据进行编码,得到所述待编码图像的特征码流。本技术的图像编码方法提供一套完整的特征编码流程,可以对各种类型的图像特征数据进行编解码,提高图像
编码的泛化性。
101.下面继续介绍图像解码装置对特征码流进行解码的过程,需要说明的是,图像编码装置的编码过程和图像解码装置的解码过程实质上互为逆过程,即在上述实施例介绍的编码过程中所采用的编码技术,通过逆工程的方式可以推导出解码过程中所采用的解码技术,在此不一一列举。
102.请继续参阅图4和图5,图4是本技术提供的图像解码方法一实施例的流程示意图,图5是本技术提供的图像解码方法总流程的示意图。
103.如图4所示,本技术实施例的图像解码方法包括以下步骤:
104.步骤s21:获取特征码流。
105.在本技术实施例中,图像解码装置利用解析单元从完整特征码流中提取头信息,确定开启了哪些工具集,然后从开启的功能中解析对应的信息,最后提取初始码流。
106.步骤s22:对特征码流进行解码,得到解码特征数据。
107.在本技术实施例中,在开启了编码功能的情况下,图像编码装置利用解码单元基于编码信息,对初始码流进行解码,重建维度转换后的特征数据。
108.步骤s23:按照预设编码工具支持的特征维度对解码特征数据进行特征维度反变换,得到映射特征数据。
109.在本技术实施例中,在开启了维度转换功能的情况下,图像编码装置利用维度反变换单元基于维度转换信息,对维度转换后的特征数据进行维度反转换,重建映射后的特征数据。
110.步骤s24:将映射特征数据进行反映射处理,得到特征码流的原始特征数据,其中,原始特征数据的数据量大于映射特征数据的数据量。
111.步骤s25:对原始特征数据进行重建,得到重建图像。
112.在开启了映射功能的情况下,图像编码装置利用反映射单元基于映射信息,对映射后的特征数据进行反映射,重建预处理后的特征数据。
113.进一步地,在开启了预处理功能的情况下,图像编码装置利用反预处理单元基于预处理信息,对预处理后的特征数据进行反映射,重建原始特征数据。
114.下面通过三种实施例进一步解析图像编码装置的编码过程和图像解码装置的解码过程:
115.实施例一:基于vtm13.0,无预处理的编解码器。
116.特征数据为1*2048的浮点数据。
117.1.编码:
118.步骤一:首先获取最大值,然后按照公式进行映射,f

=round(f*2
t-1
/v
max
) 2
t-1
,其中f

是映射后的整型数据,f是映射前的浮点数据,t是映射范围;最后进行截断,f

=clip(f

,0,2
t-1
),记录映射信息。
119.步骤二:整型数据维度转换成空域数据(64*32),记录维度转换信息。
120.步骤三:调用vtm13.0编码器对空域数据进行编码,得到原始码流,记录编码信息。
121.步骤四:头信息,映射信息,维度转换信息,编码信息和原始码流拼接成完整码流,具体如下:
122.头信息:确定四个flag的值,pre_flag=0,map_flag=1,dim_flag=1和enc_flag
=1,四个flag分别使用1比特定长编码进行编码。
123.映射信息:使用2比特定长编码来编码map_index,若该值为0,则使用32比特(float型)来编码max_value;若该值为1,则用4比特定长编码来编码amp_coefficient;若该值为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
124.维度转换信息:分别使用3比特定长编码来编码log2_width和log2_height,再使用零阶有符号指数哥伦布码来编码num_frame。
125.编码信息:使用4比特定长编码来记录enc index,用以表示使用了哪一种编码器进行编码。使用零阶有符号指数哥伦布码来记录编码器delta_qp和bitrate)。
126.2.解码:
127.步骤一:解析码流,获取头信息,映射信息,维度转换信息,编码信息和原始码流,具体如下:
128.(1)解析头信息:依次解析pre_flag,map_flag,dim_flag和enc_flag,确认解码时需要使用哪些工具集。
129.(2)解析映射信息:若map_flag=1,解析map_index的值并确定使用哪种映射方法进行映射。若map_index为0,则读取解析max_value值;若map_index为1,则解析amp_coefficient,映射方法为放大后四舍五入;若map_index为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
130.(3)解析维度转换信息:若dim_flag=1,解析log2_width,log2_height和num_frame的值。
131.(4)解析编码信息:若enc_flag=1,解析enc_index的值和编码器的参数值delta_qp和bitrate。
132.步骤二:调用vtm13.0对原始码流进行解码,得到重建的空域数据。
133.步骤三:空域数据进行维度反变换,得到1*2048的整型数据。
134.步骤四:整型数据映射成浮点型数据,浮点型数据即为重建的特征数据。
135.实施例二:基于jpeg,使用pca矩阵进行预处理的编解码器。
136.特征数据为1*2048的浮点数据。
137.1.编码:
138.步骤一:特征数据使用pca矩阵进行预处理,获得降维后的特征数据,记录预处理信息。
139.步骤二:获取降维后特征数据最大值,然后按照公式进行映射,f

=round(f*2
t-1
/v
max
) 2
t-1
,其中f

是映射后的整型数据,f是映射前的浮点数据,t是映射范围;最后进行截断,f

=clip(f

,0,2
t-1
),记录映射信息。
140.步骤三:整型数据维度转换成空域数据(32*32),记录维度转换信息。
141.步骤四:调用jpeg编码器对空域数据进行编码,得到原始码流,记录编码信息。
142.步骤五:头信息,预处理信息,映射信息,维度转换信息,编码信息和原始码流拼接成完整码流,具体如下:
143.头信息:确定四个flag的值,pre_flag=0,map_flag=1,dim_flag=1和enc_flag=1,四个flag分别使用1比特定长编码进行编码。
144.预处理信息:使用零阶无符号指数哥伦布码来编码pre_index,若该值为0,表示采
用单个pca矩阵进行降维的方法进行预处理;若该值为1,表示采用多个pca矩阵进行降维的方法进行预处理,还需要使用零阶无符号指数哥伦布码编码pca_matrix_index;若该值为2,表示采用重排序的方法进行预处理,还需要编码sort_index;若该值为3,表示采用fft/dct/dst进行变换,还需要编码matrix_index。
145.映射信息:使用2比特定长编码来编码map_index,若该值为0,则使用32比特(float型)来编码max_value;若该值为1,则用4比特定长编码来编码amp_coefficient;若该值为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
146.维度转换信息:分别使用3比特定长编码来编码log2_width和log2_height,再使用零阶有符号指数哥伦布码来编码num_frame。
147.编码信息:使用4比特定长编码来记录enc_index,用以表示使用了哪一种编码器进行编码。使用零阶有符号指数哥伦布码来记录编码器delta_qp和bitrate)。
148.2.解码:
149.步骤一:解析码流,获取头信息,预处理信息,映射信息,维度转换信息,编码信息和原始码流,具体如下:
150.解析头信息:依次解析pre_flag,map_flag,dim_flag和enc_flag,确认解码时需要使用哪些工具集。
151.解析预处理信息:若pre_flag=1,解析pre_index,该值为所采用的方法索引值,若该值为0,表示采用单个pca矩阵进行降维的方法进行预处理;若该值为1,表示采用多个pca矩阵进行降维的方法进行预处理,还需要继续解析pca_matrix_index,确定pca矩阵;若该值为2,表示采用重排序的方法进行预处理,还需要继续解析sort_index,确定最终排序;若该值为3,表示采用矩阵变换的方法进行预处理,还需要解析matrix_index,确定变换矩阵。
152.解析映射信息:若map_flag=1,解析map_index的值并确定使用哪种映射方法进行映射。若map_index为0,则读取解析max_value值;若map_index为1,则解析amp_coefficient,映射方法为放大后四舍五入;若map_index为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
153.解析维度转换信息:若dim_flag=1,解析log2_width,log2_height和num_frame的值。
154.解析编码信息:若enc_flag=1,解析enc_index的值和编码器的参数值delta_qp和bitrate。
155.步骤二:调用jpeg对原始码流进行解码,得到重建的空域数据。
156.步骤三:空域数据进行维度反变换,得到1*1024的整型数据。
157.步骤四:整型数据映射成浮点型数据,浮点型数据即为预处理后的特征数据。
158.步骤五:对重建的降维后的特征数据使用pca矩阵进行反预处理,获得重建的特征数据。
159.实施例三:基于vtm13.0,使用多个pca矩阵进行预处理的编解码器。
160.特征数据为1*2048的浮点数据。
161.1.编码:
162.步骤一:依次对特征数据使用不同pca矩阵进行预处理,获得降维后的特征数据,
对每个降维后的特征数据依次使用步骤二,三,四,五得到最终码流,从这些最终码流中选取重建特征数据质量最高的码流,保存至预处理信息中。
163.步骤二:获取降维后特征数据最大值,然后按照公式进行映射,f

=round(f*2
t-1
/v
max
) 2
t-1
,其中f

是映射后的整型数据,f是映射前的浮点数据,t是映射范围;最后进行截断,f

=clip(f

,0,2
t-1
),记录映射信息。
164.步骤三:整型数据维度转换成空域数据(32*32),记录维度转换信息。
165.步骤四:调用vtm13.0编码器对空域数据进行编码,得到原始码流,记录编码信息。
166.步骤五:头信息,预处理信息,映射信息,维度转换信息,编码信息和原始码流拼接成完整码流,具体如下:
167.头信息:确定四个flag的值,pre_flag=0,map_flag=1,dim_flag=1和enc_flag=1,四个flag分别使用1比特定长编码进行编码。
168.预处理信息:使用零阶无符号指数哥伦布码来编码pre_index,若该值为0,表示采用单个pca矩阵进行降维的方法进行预处理;若该值为1,表示采用多个pca矩阵进行降维的方法进行预处理,还需要使用零阶无符号指数哥伦布码编码pca_matrix_index;若该值为2,表示采用重排序的方法进行预处理,还需要编码sort_index;若该值为3,表示采用fft/dct/dst进行变换,还需要编码matrix_index。
169.映射信息:使用2比特定长编码来编码map_index,若该值为0,则使用32比特(foat型)来编码max_value;若该值为1,则用4比特定长编码来编码amp_coefficient;若该值为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
170.维度转换信息:分别使用3比特定长编码来编码log2_width和log2_height,再使用零阶有符号指数哥伦布码来编码num_frame。
171.编码信息:使用4比特定长编码来记录enc_index,用以表示使用了哪一种编码器进行编码。使用零阶有符号指数哥伦布码来记录编码器delta_qp和bitrate)。
172.2.解码:
173.步骤一:解析码流,获取预处理信息,映射信息,维度转换信息,编码信息和原始码流,具体如下:
174.解析头信息:依次解析pre_flag,map_flag,dim_flag和enc_flag,确认解码时需要使用哪些工具集。
175.解析预处理信息:若pre_flag=1,解析pre_index,该值为所采用的方法索引值,若该值为0,表示采用单个pca矩阵进行降维的方法进行预处理;若该值为1,表示采用多个pca矩阵进行降维的方法进行预处理,还需要继续解析pca_matrix_index,确定pca矩阵;若该值为2,表示采用重排序的方法进行预处理,还需要继续解析sort_index,确定最终排序;若该值为3,表示采用矩阵变换的方法进行预处理,还需要解析matrix_index,确定变换矩阵。
176.解析映射信息:若map_flag=1,解析map_index的值并确定使用哪种映射方法进行映射。若map_index为0,则读取解析max_value值;若map_index为1,则解析amp_coefficient,映射方法为放大后四舍五入;若map_index为2,则表示采用非均匀量化进行映射;若该值为3,则为保留值,待定。
177.解析维度转换信息:若dim_flag=1,解析log2_width,log2_height和num_frame
的值。
178.解析编码信息:若enc_flag=1,解析enc_index的值和编码器的参数值delta_qp和bitrate。
179.步骤二:调用vtm13.0对原始码流进行解码,得到重建的空域数据。
180.步骤三:空域数据进行维度反变换,得到1*1024的整型数据。
181.步骤四:整型数据映射成浮点型数据,浮点型数据即为预处理后的特征数据。
182.步骤五:对重建的降维后的特征数据使用pca矩阵进行反预处理,获得重建的特征数据。
183.本技术提出了一种图像编码方法以及图像解码方法,使用多种预处理方法,可以灵活应对各种类型的特征数据;还可以对特征数据进行维度转换,使其兼容现有的编解码器,与时俱进;还可以采用多种映射方法,对特征数据进行不同程度的压缩,可以控制最终编码的精度。
184.以上实施例,仅是对本技术的其中一种常见案例而已,并非对本技术的技术范围做任何限制,故凡是依据本技术方案的实质对以上内容所做的任何细微修改、等同变化或者修饰,均仍属于本技术技术方案的范围内。
185.请继续参见图6,图6是本技术提供的图像编码装置一实施例的结构示意图。本技术实施例的图像编码装置500包括处理器51、存储器52、输入输出设备53以及总线54。
186.该处理器51、存储器52、输入输出设备53分别与总线54相连,该存储器52中存储有程序数据,处理器51用于执行程序数据以实现上述实施例所述的图像编码方法。
187.在本技术实施例中,处理器51还可以称为cpu(central processing unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(dsp,digital signal process)、专用集成电路(asic,application specific integrated circuit)、现场可编程门阵列(fpga,field programmable gate array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。
188.请继续参见图7,图7是本技术提供的图像解码装置一实施例的结构示意图。本技术实施例的图像解码装置600包括处理器61、存储器62、输入输出设备63以及总线64。
189.该处理器61、存储器62、输入输出设备63分别与总线64相连,该存储器62中存储有程序数据,处理器61用于执行程序数据以实现上述实施例所述的图像解码方法。
190.本技术还提供一种计算机存储介质,请继续参阅图8,图8是本技术提供的计算机存储介质一实施例的结构示意图,该计算机存储介质700中存储有程序数据71,该程序数据71在被处理器执行时,用以实现上述实施例的图像编码方法和/或图像解码方法。
191.本技术的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘
等各种可以存储程序代码的介质。
192.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,方式利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献