用于对整数值序列进行编码和解码的装置,用于对整数值序列进行编码和解码的方法以及用于实现这些方法的计算机程序制造方法及图纸

技术编号:37363321 阅读:19 留言:0更新日期:2023-04-27 07:11
本发明专利技术描述用于对整数值序列进行编码的编码方案,特别是通过首先对预定位置处的值进行编码,然后连续地计算和编码相邻值之间的差。还提供了相应的解码方案。这些编码和解码方案提供更有效的编码概念。方案提供更有效的编码概念。方案提供更有效的编码概念。

【技术实现步骤摘要】
【国外来华专利技术】用于对整数值序列进行编码和解码的装置,用于对整数值序列进行编码和解码的方法以及用于实现这些方法的计算机程序


[0001]本申请涉及对整数值序列进行编码,特别是通过首先使用对预定位置处的值进行编码,然后连续地计算和编码相邻值之间的差。
[0002]根据本专利技术的实施例涉及用于编码整数值序列的装置。
[0003]根据本专利技术的进一步实施例涉及用于解码整数值序列的装置。
[0004]根据本专利技术的进一步实施例涉及用于编码整数值序列的方法。
[0005]根据本专利技术的进一步实施例涉及用于解码整数值序列的方法。
[0006]根据本专利技术的进一步实施例涉及用于执行整数值序列的编码和解码的方法的计算机程序。
[0007]本专利技术可应用于涉及整数值的信令的任意数据压缩应用,例如神经网络的参数的压缩。

技术介绍

[0008]目前已知有许多对值序列进行编码和解码的设备和方法。
[0009]然而,由于代码的长度,已知的设备和方法需要相当大的位流带宽,并且只有当序列的元素之间出现少量不同的值时才有效。
[0010]综上所述,期望创建编码概念,其提供改进的压缩性能,从而提高编码效率。
[0011]因此,本专利技术的目的是提供一种更有效的编码概念。此目的是通过未决独立权利要求的主题来实现的。
[0012]进一步有利的方面是从属权利要求的主题。

技术实现思路

[0013]根据本专利技术的实施例,创建了用于将按严格单调方式排列的整数值序列,例如码本,编码到数据流中,例如编码到比特流中的装置。装置被配置为:将位于整数值序列的预定位置(z)处的预定整数值例如C[z]编码到数据流中;对于在预定位置(例如z)之前的整数值序列中的每个位置,计算紧接在相应位置后面处的整数值与相应位置处的整数值之间的差值减1的第一差,以及将第一差编码到数据流中;以及对于位于预定位置之后的整数值序列中的每个位置,计算相应位置处的整数值与紧接相应位置之前处的整数值之间的差值减1的第二差,以及将第二差编码到数据流中。
[0014]本实施例基于如下发现:首先对位于序列的预定位置处的序列的预定整数值进行编码然后因此仅标志相邻值之间的差增加压缩性能。
[0015]值得注意的是,本文教导的整数值序列的编码将序列分为两部分,一部分在预定位置之前,另一部分沿着序列在预定位置之后。许多要编码的序列,例如参数(例如神经网络参数)的量化级别的码本,显示了以某个整数值为中心的值的分布,该整数值的大小相当
小,并且然后可以用于形成预定位置处的预定整数值,其中围绕该中心的整数值密度很高,并且在远离中心的连续整数值之间实现较大的间隔。这意味着与编码序列的第一或最后一个整数值,然后相对于此第一或最后一个值差分编码所有其他值相比,单独地编码预定的整数值,然后编码其他整数值相对于紧邻整数值对的差(减1),有助于避免必须编码一个大的整数值。在将预定位置的信息编码到数据流中的情况下,相应的节省甚至过度补偿额外的开销。
[0016]此外,应该注意的是,在许多应用中,用于量化特定参数群(诸如神经网络参数)的索引在它们所指向的码本的整数值之间分布,该码本本身的中心在序列的整数值的质心所在的预定位置处或附近。这使得在编码到数据流的情况下,可以有效地重用预定位置的信息,作为编码指向序列/码本的所有参数的量化索引的偏移,即可以针对每个参数对索引减去预定位置(z)进行编码/解码,而不是直接针对序列或码本内的整数值的秩位置。量化索引的重用以及相应的差分/偏移编码到序列/码本中,使得诸如神经网络NN参数的参数的编码更加高效。
[0017]根据实施例,装置被配置为将整数值序列的整数值的数量,例如码本的大小,例如L(C),或码本的长度编码到数据流,例如比特流。这使得重新使用码本大小的信息成为可能。数据流中的整数值的编码序列可用于确定码本的中心和预定位置的秩。根据实施例,装置被配置为使用第一可变长度码,例如A1,将整数值序列的整数值的数量编码到数据流中。例如,第一可变长度码可以将较短的码字分配给具有较小大小的整数。例如,第一可变长度码可以是无符号整数值的代码。
[0018]根据实施例,装置被配置为使用指数哥伦布码将整数值序列的整数值的数量编码到数据流中。指数哥伦布码的参数例如k可以例如控制对不同大小的编码值的码长度分配。使用指数哥伦布码提供一种更有效的编码方法。
[0019]根据实施例,装置被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。因此提高编码效率。
[0020]根据实施例,指数哥伦布码的指数哥伦布码参数为值2。对于第一可变长度码使用预定的指数哥伦布码参数是更有效的,因为每个整数值序列(例如码本)仅编码一个值。
[0021]根据实施例,装置被配置为通过使用第一二值化码将数量二值化为一个或多个第一二进制位的第一二进制字符串,并对一个或多个第一二进制位进行上下文自适应二进制算术编码,来将整数值序列的整数值的数量编码到数据流中。因为无损二值化编码,编码效率不会降低。
[0022]根据实施例,装置被配置为将表明预定位置例如z的信息编码到数据流中。它使得重用预定位置的信息成为可能。
[0023]根据实施例,装置被配置为在整数值序列内的数个位置中选择预定位置,并从数个位置中选择满足预定标准的位置作为预定位置。例如,当整数值序列的整数值以零为中心时,预定位置,例如z,优选地指向大小较小的值,以提供有效的编码方法。
[0024]根据实施例,装置被配置为,预定的标准是用于将整数值序列编码到数据流中的最低比特率。
[0025]根据实施例,装置被配置为计算预定位置的秩与整数值数量的整数四舍五入的一半之间的第三差,并将第三差编码到数据流中。例如,第三差被计算为
[0026][0027]例如,当z指向接近序列中间的位置时,变量y很小。从而提供一种有效的编码方法。
[0028]根据实施例,装置被配置为使用第二可变长度码,例如A2将第三差编码到数据流中。例如,第二可变长度码是有符号整数值的代码。
[0029]根据实施例,装置被配置为使用指数哥伦布码将第三差编码到数据流中。例如,指数哥伦布码的参数例如k可以控制对不同大小的编码值的码长分配。使用指数哥伦布码提供一种更有效的编码方法。
[0030]根据实施例,装置被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。因此提高编码效率。
[0031]根据实施例,装置被配置为通过根据预定义的映射规则将第三差映射到第一无符号整数以及使用第三可变长度码,例如A6对第一无符号整数进行编码而将第三差编码到数据流中。
[0032]根据实施例,装置被配置为使用指数哥伦布码将无符号整数编码到数据流中。使用指数哥伦布码提供一种更有效的编码方法。
[0033]根据实施例,装置被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。因此提高编码效率。
[0034]根据实施例,指数哥伦布码的指数哥伦布码参数为值2。使用预定的指数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于将按严格单调方式排列的整数值序列编码到数据流的装置,所述装置被配置为:将位于整数值序列的预定位置(z)处的预定整数值(C[z])编码(104)到数据流中;以及对于在预定位置(z)之前的整数值序列的每个位置,计算(105)紧接在相应位置后面处的整数值与相应位置处的整数值之间的差值减1的第一差;以及将第一差编码(106)到数据流中;以及对于位于预定位置之后的整数值序列的每个位置,计算(107)相应位置处的整数值与紧接相应位置之前处的整数值之间的差值减1的第二差;以及将第二差编码(108)到数据流中。2.根据权利要求1所述的装置,被配置为将整数值序列的整数值的数量编码(101)到数据流中。3.根据权利要求2所述的装置,被配置为使用第一可变长度码[A1]将整数值序列的整数值的数量编码到数据流中。4.根据权利要求2所述的装置,被配置为使用指数哥伦布码将整数值序列的整数值的数量编码到数据流中。5.根据权利要求4所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。6.根据权利要求4所述的装置,其中指数哥伦布码的指数哥伦布码参数为值2。7.根据权利要求2至6中任何一项所述的装置,被配置为通过使用第一二值化码将数量二值化为一个或多个第一二进制位的第一二进制字符串,并对一个或多个第一二进制位进行上下文自适应二进制算术编码,而将整数值序列的整数值的数量编码到数据流中。8.根据上述权利要求中任何一项所述的装置,被配置为将表明预定位置的信息编码到数据流中。9.根据上述权利要求中任何一项所述的装置,被配置为在整数值序列内的数个位置中选择预定位置,并从数个位置中选择满足预定标准的位置作为预定位置。10.根据权利要求9所述的装置,其中预定的标准是用于将整数值序列编码到数据流中的最低比特率。11.根据上述权利要求中任何一项所述的装置,其中装置被配置为计算(102)预定位置的秩与整数值的数量的整数四舍五入的一半之间的第三差,以及将第三差编码(103)到数据流中。12.根据权利要求11所述的装置,被配置为通过使用第二可变长度码[A2]将第三差编码到数据流中。13.根据权利要求11所述的装置,被配置为使用指数哥伦布码将第三差编码到数据流中。14.根据权利要求13所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。15.根据权利要求11所述的装置,被配置为通过以下将第三差编码到数据流中:
根据预定义的映射规则将第三差映射到第一无符号整数;以及使用第三可变长度码[A6]对第一无符号整数进行编码。16.根据权利要求15所述的装置,配置为使用指数哥伦布码将无符号整数编码到数据流中。17.根据权利要求16所述的装置,配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。18.根据权利要求16所述的装置,其中指数哥伦布码的指数哥伦布码参数为值2。19.根据权利要求15至18中任何一项所述的装置,其中映射规则将有符号整数映射到无符号整数,使得小于0的有符号整数和大于0的有符号整数分别映射到偶数无符号整数和奇数无符号整数的单独一个上,并将0映射到0,并且使得,对于每个无符号整数,映射到相应无符号整数的第一有符号整数在大小上大于或等于映射到相应的无符号整数后面的无符号整数的第二有符号整数。20.根据权利要求15至18中任何一项所述的装置,其中映射规则根据以下将有符号整数Is映射为无符号整数Iu:若Is≤0

Iu=

Is*2,若Is>0

Iu=Is*2

1.21.根据权利要求11至20中任何一项所述的装置,被配置为通过使用第二二值化码将数量二值化为具有一个或多个第二二进制位的第二二进制字符串,并对一个或多个第二二进制位进行上下文自适应二进制算术编码,而将第三差编码到数据流中。22.根据上述权利要求中任何一项所述的装置,被配置为通过使用第四可变长度码[A3]将预定的整数值编码到数据流中。23.根据上述权利要求中任何一项所述的装置,被配置为通过使用指数哥伦布码将预定的整数值编码到数据流中。24.根据权利要求23所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。25.根据上述权利要求中任何一项所述的装置,被配置为通过以下将预定的整数值编码到数据流中:根据另一预定义的映射规则将预定的整数值映射到第二无符号整数;以及使用第五可变长度码[A7]对第二无符号整数进行编码。26.根据权利要求25所述的装置,被配置为通过使用指数哥伦布码将无符号整数编码到数据流中。27.根据权利要求26所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。28.根据权利要求26所述的装置,其中指数哥伦布码的指数哥伦布码参数为值7。29.根据权利要求25至28中任何一项所述的装置,其中映射规则将有符号整数映射到无符号整数,使得小于0的有符号整数和大于0的有符号整数分别被映射到偶数无符号整数和奇数无符号整数的单独一个上,并将0映射到0,并且使得,对于每个无符号整数,映射到相应无符号整数的第一有符号整数在大小上大于或等于映射到相应的无符号整数后面的无符号整数的第二有符号整数。
30.根据权利要求25至28中任何一项所述的装置,其中映射规则根据以下将有符号整数Is映射为无符号整数Iu:若Is≤0

Iu=

Is*2,若Is>0

Iu=Is*2

1.31.根据权利要求1至24中任何一项所述的装置,被配置为通过使用第三二值化码将数量二值化为一个或多个第三二进制位的第三二进制字符串和对一个或多个第三二进制位进行上下文自适应二进制算术编码,而将预定整数值编码到数据流中。32.根据上述权利要求中任何一项所述的装置,被配置为通过使用第六可变长度码[A4]将第一差编码到数据流中。33.根据上述权利要求中任何一项所述的装置,被配置为使用指数哥伦布码将第一差编码到数据流中。34.根据权利要求33所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。35.根据权利要求34所述的装置,其中指数哥伦布码参数是0到15的范围内的值中的一个,并作为4位无符号整数被编码到数据流中。36.根据权利要求33至35中任何一项所述的装置,其中指数哥伦布码的指数哥伦布码参数为值7。37.根据上述权利要求中任何一项所述的装置,被配置为通过使用第二二值化码将数量二值化为一个或多个第四二进制位的第四二进制字符串和对一个或多个第四二进制位进行上下文自适应二进制算术编码来将第一差编码到数据流中。38.根据上述权利要求中任何一项所述的装置,被配置为通过使用第七可变长度码[A5]将第二差编码到数据流中。39.根据上述权利要求中任何一项所述的装置,被配置为通过使用指数哥伦布码将第二差编码到数据流中。40.根据权利要求39所述的装置,被配置为将指数哥伦布码的指数哥伦布码参数编码到数据流中。41.根据权利要求40所述的装置,其中指数哥伦布码参数是0到15的范围内的值中的一个,并作为4位无符号整数被编码到数据流中。42.根据权利要求39所述的装置,其中指数哥伦布码的指数哥伦布码参数为值7。43.根据权利要求39所述的装置,其中用于编码第二差的指数哥伦布码的指数哥伦布码参数与用于编码第一差的指数哥伦布码的指数哥伦布码参数相同。44.根据权利要求43所述的装置,其中用于编码第一差和第二差的指数哥伦布码的指数哥伦布码参数与用于将预定整数值编码到数据流中的指数哥伦布码的指数哥伦布码参数相同。45.根据上述权利要求中任何一项所述的装置,被配置为通过使用第二二值化码将数量二值化为一个或多个第五二进制位的第五二进制字符串和对一个或多个第五二进制位进行上下文自适应二进制算术编码来将第二差编码到数据流中。46.根据上述权利要求中任何一项所述的装置,被配置为经由聚类算法获取整数值序列。
47.根据上述权利要求中任何一项所述的装置,其中整数值序列是与神经网络的参数相关联的码本。48.根据权利要求47所述的装置,其中参数包括神经网络的权重、偏差和批量范数参数中的一个或多个。49.根据上述权利要求中任何一项所述的装置,被配置为通过将多个浮点值量化到由整数值序列和浮点量化参数定义的一组量化级别上来获取整数值序列。50.根据权利要求49所述的装置,被配置为对于多个浮点值中的每个,将量化索引编码到数据流中,量化索引指向整数值序列中的相关整数值,根据浮点量化参数,所述相关整数值与相应浮点值被量化到其上的量化级别相关联。51.根据权利要求49和50中任何一项所述的装置,其中浮点量化参数包括第一有符号整数量化参数和第二无符号整数参数。52.根据权利要求51所述的装置,被配置为将第一无符号整数量化参数编码到数据流中,并且其中第二无符号整数参数是固定值,或者所述装置被配置为从另一个整数值序列或整数值序列集继承第二无符号整数参数。53.根据权利要求51所述的装置,被配置为将第一有符号整数量化参数和第二无符号整数参数编码到数据流中。54.根据权利要求49所述的装置,被配置为以整数值序列内相关整数值的位置的第一秩与预定位置的秩的秩差的形式将量化索引编码到数据流中。55.根据权利要求54所述的装置,被配置为通过使用第八可变长度码将秩差编码到数据流中。56.根据权利要求54所述的装置,被配置为通过使用指数哥伦布码将秩差编码到数据流中。57.根据权利要求54至56中任何一项所述的装置,被配置为通过使用二值化码将数量二值化为一个或多个二进制位的二进制字符串以及对一个或多个二进制位进行上下文自适应二进制算术编码来将秩差编码到数据流中。58.根据上述权利要求中任何一项所述的装置,被配置为将浮点量化参数编码到数据流中,用于通过应用浮点量化参数从整数值序列中获得量化级别。59.根据权利要求58所述的装置,其中浮点量化参数定义量化级别之间的量化步长。60.一种用于从数据流解码以严格单调方式排序的整数值序列的装置,所述装置被配置为从数据流解码(204)位于整数值序列的预定位置(z)处的预定整数值(C[z]);以及对于在预定位置之前的整数值序列中的每个位置,从数据流解码(205)紧接在相应位置后面处的整数值与相应位置处的整数值之间的差值减1的第一差;以及对于位于预定位置之后的整数值序列中的每个位置,从数据流解码(20...

【专利技术属性】
技术研发人员:保罗
申请(专利权)人:弗劳恩霍夫应用研究促进协会
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1