数据编码方法、数据解码方法以及数据处理装置制造方法及图纸

技术编号:37159657 阅读:15 留言:0更新日期:2023-04-06 22:23
本申请涉及人工智能领域,公开了数据编码方法、数据解码方法以及数据处理装置,其中,数据编码方法和数据解码方法均涉及可逆流模型。其中,可逆流模型包括目标可逆流层,目标可逆流层中的模型参数用于约束在逆向变换处理过程中生成的辅助变量,目标可逆流层对应的运算包括基于模型参数确定的乘法运算和除法运算,该辅助变量为乘法运算的乘积的增量或除法运算产生的余数。由于,在数据编码和数据解码过程中,不仅能够使用乘法运算,还可以在进行除法运算时通过使用辅助变量实现可逆,因此,相比于传统技术中的整数流模型提高了模型表征能力,有利于提升模型概率分布的估计准确率,进而能够提升无损压缩的压缩效率。进而能够提升无损压缩的压缩效率。进而能够提升无损压缩的压缩效率。

【技术实现步骤摘要】
数据编码方法、数据解码方法以及数据处理装置


[0001]本申请实施例涉及人工智能(artificial intelligence,AI)领域,尤其涉及数据编码方法、数据解码方法以及数据处理装置。

技术介绍

[0002]无损压缩(Lossless Compression)是一种对数据进行压缩的技术。原始数据经过无损压缩之后获得的压缩数据的长度小于原始数据的长度,并且,压缩数据通过解压能够完全恢复为原始数据。目前,无损压缩的核心是寻找原始数据内部的分布规律,根据原始数据内部的规律进行压缩。例如,若原始数据中字母e出现频率远高于字母z,则对e用更短的比特进行表示,就可以采用长度更短的压缩数据来表示前述原始数据。
[0003]随着人工智能AI技术的发展,研究人员希望利用AI技术寻找数据内部的更优的分布规律,利用数据内部的分布规律进行压缩,以期望获得更优的无损压缩率。目前,一种常用的利用AI技术寻找数据内部的分布规律的模型为流模型(flow

based models)。具体地,在压缩流程中,流模型将原始数据变换为隐变量,该隐变量具有一定的概率分布,可以根据该隐变量的概率分布进行压缩。在解压流程中,根据前述隐变量的概率分布进行解压,并通过前述流模型恢复成原始数据。
[0004]在传统方案中,为了实现无损压缩,一般采用整数流(integer discrete flow,IDF)模型。该整数流模型的输入和输出需要均为整数,并且,使用整数加减运算避免产生浮点数误差,以保证流模型的输入和输出是可逆的。然而,由于前述流模型仅限于加减运算,导致模型表征能力较差,模型概率分布估计较差,进而导致无损压缩的压缩效率较低。

技术实现思路

[0005]本申请实施例提供了一种数据编码方法、数据解码方法以及数据处理装置,用于提升无损压缩的压缩效率。
[0006]第一方面,本申请提供了一种数据编码方法,该数据编码方法用在作为压缩端的数据处理装置中。在该方法中,数据处理装置获取待编码数据;然后,采用可逆流模型对该待编码数据进行正向变换处理,得到隐变量;然后,对该隐变量进行编码处理,得到该待编码数据对应的编码数据。
[0007]其中,可逆流模型是本申请提出的新的流模型。该可逆流模型包括目标可逆流层,该目标可逆流层对应的运算为可逆运算。其中,该目标可逆流层包括模型参数,该模型参数用于约束在该正向变换处理过程中生成的辅助变量,该目标可逆流层对应的运算包括基于该模型参数确定的乘法运算和除法运算,该辅助变量为该乘法运算的乘积的增量或该除法运算产生的余数。
[0008]应理解,该目标可逆流层中的模型参数可以为预配置的参数,也可以是该目标可逆流层基于某种算法计算出的参数,具体此处不做限定。
[0009]应理解,该待编码数据可以是图像、视频或者文本的等原始数据。此时,该待编码
数据一般为整数数据。该待编码数据也可以为基于图像、视频或者文本的等原始数据进行预处理后的数据。此时,该待编码数据可能是具有一定精度的定点数。
[0010]本实施例中,由于用于对待编码数据进行正向变换处理的可逆流模型包括目标可逆流层,该目标可逆流层不仅包括基于该模型参数确定的乘法运算和除法运算,该目标可逆流层中的模型参数还能够约束在所述正向变换处理过程中生成的辅助变量,该辅助变量为该乘法运算的乘积的增量或该除法运算产生的余数。也就是说,本申请不仅能够使用乘法运算,还可以在进行除法运算时通过使用辅助变量实现可逆,因此,相比于传统技术中的整数流模型提高了模型表征能力,有利于提升模型概率分布的估计准确率,进而能够提升无损压缩的压缩效率。
[0011]在一种可能的实施方式中,该可逆流模型包括N个可逆流层,该N个可逆流层包括该目标可逆流层,该N为大于或等于1的整数。该目标可逆流层用于对输入该目标可逆流层的第一数据进行正向变换处理,得到输出该目标可逆流层的第二数据,该第一数据为该乘法运算的乘数,该第二数据为该除法运算的整数商。
[0012]也就是说,在正向变换处理过程中,在基于该模型参数确定的乘法运算中,该第一数据作为该乘法运算的乘数,该乘法运算的另一个乘数由该模型参数确定;由于,辅助变量可以作为该乘法运算的乘积的增量,因此,基于前述第一数据与另一个乘数的乘积,再加上前述辅助变量可以获得中间数据。在基于该模型参数确定的除法运算中,该第二数据作为该除法运算的整数商,该除法运算的除数为中间数据,被除数由该模型参数确定。因此,第一数据在输入目标可逆流层之后,经过乘法运算和除法运算等运算处理后,将输出第二数据,该第二数据为目标可逆流层的输出。
[0013]其中,该第一数据为该待编码数据或者经过至少一个可逆流层处理后输出的数据,该第二数据为该隐变量或者该第二数据经过至少一个该可逆流层处理后输出的数据为该隐变量。应理解,前述至少一个可逆流层指n个可逆流层,其中,n为大于或等于1且小于N的整数,但是,此时N为大于1的整数。
[0014]也就是说,若目标可逆流层为可逆流模型中的第一个可逆流层,则输入该可逆流模型的待编码数据即为第一数据,经过正向变换处理之后,该目标可逆流层输出第二数据。若该可逆流模型仅有一个可逆流层,则前述目标可逆流层输出的第二数据即为隐变量。若该可逆流模型中有多个可逆流层,则前述目标可逆流层输出的第二数据将作为其他的可逆流层的输入,以使得其他的可逆流层对该第二数据进行处理,以使得经过至少一个该可逆流层处理后输出的数据为该隐变量。
[0015]类似的,若目标可逆流层为可逆流模型中的最后一个可逆流层,则输入该可逆流模型的待编码数据经过至少一个该可逆流层处理后的输出为前述第一数据,该第一数据作为目标可逆流层的输入,经过正向变换处理之后,该目标可逆流层输出第二数据。由于,该目标可逆流层为可逆流模型中的最后一个可逆流层,则前述目标可逆流层输出的第二数据即为隐变量。
[0016]本实施方式中,提出输入该目标可逆流层的第一数据会经过乘法运算,输出该目标可逆流层的第二数据是经过除法运算获得的,因此,相比于仅使用整数加减法的整数流模型来说,本申请的可逆流模型具备更强的模型表征能力,有利于提升模型概率分布的估计准确率,进而能够提升无损压缩的压缩效率。
[0017]在一种可能的实施方式中,该模型参数包括第一参数和第二参数,该第一参数和该第二参数均为正整数,该第一参数与该第二参数不相等;该辅助变量包括第一辅助变量,该第一辅助变量为该乘法运算的乘积的增量。
[0018]具体地,该数据处理装置对输入该目标可逆流层的第一数据进行正向变换处理,得到输出该目标可逆流层的第二数据的过程具体可以为:
[0019]将该第一数据作为该第一参数的乘数进行乘法运算,得到第一乘积数据;
[0020]将该第一辅助变量作用该第一乘积数据的增量进行加法运算,得到中间数据;
[0021]将该中间数据作为除数且该第二参数作为被除数进行除法取整运算,得到该第二数据。
[0022]也就是说,数据处理装置将第一数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据编码方法,其特征在于,包括:获取待编码数据;采用可逆流模型对所述待编码数据进行正向变换处理,得到隐变量;其中,所述可逆流模型包括目标可逆流层,所述目标可逆流层包括模型参数,所述模型参数用于约束在所述正向变换处理过程中生成的辅助变量,所述目标可逆流层对应的运算包括基于所述模型参数确定的乘法运算和除法运算,所述辅助变量为所述乘法运算的乘积的增量或所述除法运算产生的余数;对所述隐变量进行编码处理,得到所述待编码数据对应的编码数据。2.根据权利要求1所述的方法,其特征在于,所述可逆流模型包括N个可逆流层,所述N个可逆流层包括所述目标可逆流层,所述N为大于或等于1的整数;所述目标可逆流层用于对输入所述目标可逆流层的第一数据进行正向变换处理,得到输出所述目标可逆流层的第二数据,所述第一数据为所述乘法运算的乘数,所述第二数据为所述除法运算的整数商;其中,所述第一数据为所述待编码数据或者经过至少一个所述可逆流层处理后输出的数据,所述第二数据为所述隐变量或者所述第二数据经过至少一个所述可逆流层处理后输出的数据为所述隐变量。3.根据权利要求2所述的方法,其特征在于,所述模型参数包括第一参数和第二参数,所述第一参数和所述第二参数均为正整数,所述第一参数与所述第二参数不相等;所述辅助变量包括第一辅助变量,所述第一辅助变量为所述乘法运算的乘积的增量;所述对输入所述目标可逆流层的第一数据进行正向变换处理,得到输出所述目标可逆流层的第二数据,包括:将所述第一数据作为所述第一参数的乘数进行乘法运算,得到第一乘积数据;将所述第一辅助变量作用所述第一乘积数据的增量进行加法运算,得到中间数据;将所述中间数据作为除数且所述第二参数作为被除数进行除法取整运算,得到所述第二数据。4.根据权利要求3所述的方法,其特征在于,所述辅助变量还包括第二辅助变量,所述第二辅助变量为所述除法运算产生的余数;所述方法还包括:以所述中间数据为除数且所述第二参数为被除数进行除法取余运算,得到所述第二辅助变量,所述第二辅助变量用于作为所述正向变换处理对应的逆向变换处理中的乘法运算的乘积的增量,所述第一辅助变量用于作为所述逆向变换处理中的除法运算产生的余数。5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:获取输入所述目标可逆流层的第一辅助数据;基于所述第一辅助数据和所述第一参数确定所述第一辅助变量。6.根据权利要求5所述的方法,其特征在于,所述基于所述第一辅助数据和所述第一参数确定所述第一辅助变量,包括:基于所述第一参数确定第一均匀分布,所述第一均匀分布的端点为0和所述第一参数;采用所述第一均匀分布解码所述第一辅助数据,得到所述第一辅助变量和第二辅助数据,所述第一辅助变量的取值位于0到所述第一参数之间。
7.根据权利要求6所述的方法,其特征在于,所述采用所述第一均匀分布解码所述第一辅助数据,得到所述第一辅助变量和第二辅助数据,包括:以所述第一辅助数据为除数且所述第一参数为被除数,进行除法取余运算,得到所述第一辅助变量;以所述第一辅助数据为除数且所述第一参数为被除数,进行除法取整运算,得到所述第二辅助数据,所述第二辅助数据用于在正向变换过程中编码所述第二辅助变量,在逆向变换过程中编码所述第一辅助变量。8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:基于所述第二参数确定第二均匀分布,所述第二均匀分布的端点为0和所述第二参数;采用所述第二均匀分布和所述第二辅助数据编码所述第二辅助变量,得到第三辅助数据,所述第二辅助变量的取值位于0到所述第二参数之间;存储所述第三辅助数据,所述第三辅助数据用于在所述逆向变换处理中解码所述第二辅助变量。9.根据权利要求8所述的方法,其特征在于,所述采用所述第二均匀分布和所述第二辅助数据编码所述第二辅助变量,得到第三辅助数据,包括:将所述第二辅助数据与所述第二参数进行乘法运算而获得的乘积,与所述第二辅助变量进行加法运算,得到所述第三辅助数据。10.根据权利要求2至9中任意一项所述的方法,其特征在于,所述目标可逆流层还用于:获取第一单调连续函数的定义域中的第一区间和所述第一区间在所述第一单调连续函数的值域上对应的第二区间,所述第一单调连续函数为非线性函数;基于所述第一区间和所述第二区间采用插值法或二分查找法计算所述模型参数。11.根据权利要求2至10中任意一项所述的方法,其特征在于,当所述N个可逆流层包括至少两个可逆流层时,所述N个可逆流层采用串行的方式排布;其中,第i

1个可逆流层的输出用于作为第i个可逆流层的输入,所述i为大于1且不大于N的正整数,第1个可逆流层的输入为所述待编码数据,所述第N个可逆流层的输出为所述隐变量。12.根据权利要求11所述的方法,其特征在于,所述待编码数据为采用噪声数据对原始数据进行反编码处理而获得的数据,所述待编码数据为具有第一预设精度的定点数数据;所述第i个可逆流层还用于在所述正向变换处理之前,将基于所述具有第一预设精度的定点数数据处理为整数数据,以及将所述经所述正向变换处理后的整数数据处理为具有所述第一预设精度的定点数数据以作为所述第i个可逆流层的输出。13.根据权利要求2至12中任意一项所述的方法,其特征在于,所述N个可逆流层还包括可逆卷积层,所述可逆卷积层包括卷积核和所述目标可逆流层,所述卷积核为以所述待编码数据的通道数为阶数的方阵;所述可逆卷积层用于对所述卷积核进行LU分解,得到目标矩阵,所述目标矩阵为对角阵,所述对角阵的对角线上的非零元素用于确定所述可逆卷积层中所述目标可逆流层的模型参数。14.根据权利要求2至12中任意一项所述的方法,其特征在于,所述N个可逆流层还包括
耦合层,所述耦合层包括所述目标可逆流层;所述耦合层用于将输入所述耦合层的数据按预设维度划分为至少两部分数据,并将所述至少两部分数据中的至少一部分数据作为所述目标可逆流层的输入进行处理,得到所述耦合层的输出。15.一种数据解码方法,其特征在于,包括:获取编码数据;对所述编码数据进行解码处理,得到隐变量;采用可逆流模型对所述隐变量进行逆向变换处理,得到解码输出;其中,所述可逆流模型包括目标可逆流层,所述目标可逆流层包括模型参数,所述模型参数用于约束在所述逆向变换处理过程中生成的辅助变量,所述目标可逆流层对应的运算包括基于所述模型参数确定的乘法运算和除法运算,所述辅助变量为所述乘法运算的乘积的增量或所述除法运算产生的...

【专利技术属性】
技术研发人员:张世枫康宁汤姆
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1