CN112019865A - 一种用于深度学习编码的跨平台熵编码方法及解码方法 - Google Patents

一种用于深度学习编码的跨平台熵编码方法及解码方法 Download PDF

Info

Publication number
CN112019865A
CN112019865A CN202010727133.4A CN202010727133A CN112019865A CN 112019865 A CN112019865 A CN 112019865A CN 202010727133 A CN202010727133 A CN 202010727133A CN 112019865 A CN112019865 A CN 112019865A
Authority
CN
China
Prior art keywords
coding
deep learning
entropy
network
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010727133.4A
Other languages
English (en)
Inventor
王培�
其他发明人请求不公开姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Pico Pico Technology Co ltd
Original Assignee
Hangzhou Pico Pico Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Pico Pico Technology Co ltd filed Critical Hangzhou Pico Pico Technology Co ltd
Priority to CN202010727133.4A priority Critical patent/CN112019865A/zh
Publication of CN112019865A publication Critical patent/CN112019865A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种用于深度学习编码的跨平台熵编码方法及解码方法,包括:确定计算基于深度学习编码的熵编码模型的网络模块;将网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;载入训练好的模型参数,对基于深度学习编码的熵编码模型进行初始化。通过本发明,可以跨平台使用,且不需要重新设计,重新训练模型参数,可以直接应用于他们的部署,而不会导致性能及效率的下降。

Description

一种用于深度学习编码的跨平台熵编码方法及解码方法
技术领域
本发明涉及图像编码技术领域,特别涉及一种用于深度学习编码的跨平台熵编码方法及解码方法。
背景技术
近年来,基于深度学习的图像压缩方法引起了很多研究者的关注。研究人员已经这个研究方向已经取得了很多成果。比如2016年Toderici等人提出了一种基于循环卷积神经网络的图像压缩框架,取得了超越目前最常用的传统编码器JPEG的压缩性能,这是基于学习的方法第一次超越传统方法。2018年,另一个基于卷积神经网络的编码框架,取得了超越当时最好的传统编码方法BPG的性能。这些成果充分表明基于深度学些的图像编码方法拥有巨大的潜力。
基于深度学习编码方法的框架本质上和传统编码框架类似,由正变换,量化,熵编码,反变换等模块组成。其中各个模块都是由卷积操作组成。这些卷积层的参数在最小化率失真损失时,可以联合优化,直到达到一个最优解。
在实际应用时,需要将正变换后的图像表征进行熵编码,得到二进制的码流,进行存储或传输。当使用基于超先验的熵编码方法时,需要先得到熵编码模型。熵编码模型用来对图像表征进行熵编码,在编码端和解码端使用的熵编码模型必须一模一样,才能正确解码二进制码流,否则熵解码会失败,导致整个图像解码过程失败。
在使用基于深度学习的图像编解码方法时,由于不同平台的计算方式,加速策略等不同,导致解码端解码得到的熵模型和编码端不能完全一致,从而使得解码过程有很大概率失败。这个问题极大阻碍了基于深度学习图像编码的实际应用,因为编码解往往运行在不同设备上,而编解码平台通常是不一样的,比如,在CPU上编码,GPU上解码;GPU上编码,另一个GPU上解码等等场景,都会有很大概率会解码失败。
传统的熵编码方法一般是使用整数形式进行计算,得到的熵编码模型在各个平台上是一致的。但是在深度学习编码这一新兴的编码框架下,计算熵编码模型一般使用浮点数,比如采用常见的深度学习框架Tensorflow或者Pytorch,模型参数和运算使用的临时变量都是默认采用32位浮点数。由于32位浮点数表示的精度有限,而不同平台的浮点数运算实现在误差允许范围内会有微弱的差别,该差别低于精度要求不高的应用没有显著影响,但是对于计算熵编码模型,万分之一的误差都会导致熵解码失败,从而使整个解码过程无效。去年,Google的Ballé等人提出了一种整数深度神经网络的方法来解决这个问题。该方法可以有效的解决编解码端计算熵编码模型精度不同的问题,但是该方法的缺点在于需要重新设计网络,重新训练网络,对于现有已经训练好的模型不适用。
发明内容
本发明针对上述现有技术中存在的问题,提出一种用于深度学习编码的跨平台熵编码方法及解码方法,可以部署在不同平台上,跨平台使用,并且不需要重新设计,重新训练模型参数,可以直接应用于他们的部署,而不会导致性能及效率的下降。
为解决上述技术问题,本发明是通过如下技术方案实现的:
本发明提供一种用于深度学习编码的跨平台熵编码方法,其包括以下步骤:
S11:确定计算基于深度学习编码的熵编码模型的网络模块;
S12:将所述S11中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S13:载入训练好的模型参数,对基于深度学习编码的熵编码模型进行初始化。
较佳地,所述S11中的基于深度学习编码模型的网络模块包括:超先验分析网络、超先验重构网络以及熵编码模型网络。
较佳地,所述S11中的基于深度学习编码模型的网络模块包括:超先验编码网络,上下文模型预测网络以及熵编码模型网络。
较佳地,所述S12中的参数替换和/或中间变量替换的方式为格式类型转换。
本发明还提供一种用于深度学习编码的跨平台熵解码方法,其包括以下步骤:
S21:确定计算基于深度学习编码的熵解码模型的网络模块;
S22:将所述S21中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S23:载入训练好的模型参数,对基于深度学习编码的熵解码模型进行初始化。
较佳地,所述S12中的基于深度学习编码的熵解码模型的网络模块包括:超先验分析网络、超先验重构网络以及熵编码模型网络。
较佳地,所述S21中的基于深度学习编码的熵解码模型的网络模块包括:超先验解码网络,上下文模型预测网络以及熵编码模型网络。
较佳地,所述S22中的参数替换和/或中间变量替换的方式为格式类型转换。
根据本发明的第三方面,提供一种电子终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的用于深度学习编码的跨平台熵编码方法或者实现上述的用于深度学习编码的跨平台熵解码方法。
根据本发明的第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,所述计算机程序使得计算机执行上述的用于深度学习编码的跨平台熵编码方法或者上述的用于深度学习编码的跨平台熵解码方法。
相较于现有技术,本发明具有以下优点:
(1)本发明提供的用于深度学习编码的跨平台熵编码方法及解码方法,通过将网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,可以对任意现有已经训练好的深度学习编解码方法进行改进,以达到能够部署在不同平台上的能力,解决编解码端在不同平台存在的由于熵编解码模型计算不匹配而导致的解码失败的问题;
(2)本发明提供的用于深度学习编码的跨平台熵编码方法及解码方法,相对于现有方法而言,好处在于不需要重新设计,重新训练模型参数,可以直接应用于他们的部署,而不会导致性能及效率的下降。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
下面结合附图对本发明的实施方式作进一步说明:
图1为本发明一实施例的用于深度学习编码的跨平台熵编码方法的流程图;
图2为本发明一实施例的基于深度学习编码的熵编解码模型的网络模块的架构图;
图3为本发明另一实施例的基于深度学习编码的熵编解码模型的网络模块的架构图;
图4为本发明一实施例的用于深度学习编码的跨平台熵解码方法的流程图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示为本发明一实施例的用于深度学习编码的跨平台熵编码方法的流程图。
请参考图1,本实施例的用于深度学习编码的跨平台熵编码方法包括以下步骤:
S11:确定计算基于深度学习编码的熵编码模型的网络模块;
如图2的一种典型网络模块中的:超先验分析网络、超先验重构网络以及熵编码模型网络;如图3的另一种典型网络模块中的:超先验编码网络、上下文模型预测网络以及熵编码模型网络。这些网络具体可以采用现有网络来实现,比如超先验编码网络由多层卷积层和激活层堆叠而成;上下文模型预测网络由一层掩膜卷积层与多层卷积层堆叠而成;熵编码模型网络由多层卷积层和激活层堆叠而成。
S12:将S11中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S13:载入训练好的模型参数,对基于深度学习编码的熵编码模型进行初始化;初始化好后的熵编码模型,即可使用原有的编码方法进行图像的编码。
较佳实施例中,S12中的参数替换和/或中间变量替换的方式为格式类型转换。具体地,对于原来使用float32浮点数,现在是float64或者更高精度浮点数的参数,直接采用格式类型转换,得到float64或者更高精度的参数。
如图4所示为本发明一实施例的用于深度学习编码的跨平台熵解码方法的流程图。
请参考图4,本实施例的用于深度学习编码的跨平台熵解码方法是与上述实施例中的熵编码方法对应的熵解码方法,其包括以下步骤:
S21:确定计算基于深度学习编码的熵解码模型的网络模块;
如图2的一种典型网络模块中的:超先验分析网络、超先验重构网络以及熵编码模型网络;如图3的另一种典型网络模块中的:超先验解码网络、上下文模型预测网络以及熵编码模型网络。其中,超先验编码网络由多层卷积层和激活层堆叠而成。上下文模型预测网络由一层掩膜卷积层与多层卷积层堆叠而成。熵编码模型网络由多层卷积层和激活层堆叠而成。
S22:将S21中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S23:载入训练好的模型参数,对基于深度学习编码的熵解码模型进行初始化,初始化好的熵解码模型,即可使用原有的解码方法进行图像的解码。
较佳实施例中,S22中的参数替换和/或中间变量替换的方式为格式类型转换。具体地,对于原来使用float32浮点数,现在是float64或者更高精度浮点数的参数,直接采用格式类型转换,得到float64或者更高精度的参数。
需要说明的是,32位浮点数是最常用的浮点数数据类型,比如本领域使用最广泛的工具平台Tensorflow就默认使用float32的数据类型。在使用Tensorflow实现深度学习编解码时,会出现解码失败的问题。为什么会存在这样的问题呢?通过对熵编解码过程进行大量深入研究和分析,最终才发现是由于数据精度不足,导致不同运算平台对熵编码模型的计算结果有0.0001甚至更小程度的差别,从而出现解码失败的问题。为了解决上述问题,本发明实施例将网络模块中的模型参数进行改进,采用精度大于等于float64的浮点数的模型参数,在使用本发明实施例的方法后,解决了编解码端在不同平台存在的由于熵编解码模型计算不匹配而导致的解码失败的问题。而且本发明实施例的方法不需要重新设计、重新训练模型参数,可以直接应用于现有平台的部署,而不会导致性能及效率的下降。
在本发明另一实施例中,还提供一种电子终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例的用于深度学习编码的跨平台熵编码方法或者实现上述任一项实施例的用于深度学习编码的跨平台熵解码方法。
可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(volatilememory),例如随机存取存储器(random-access memory,缩写:RAM),如静态随机存取存储器(static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flashmemory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
在本发明另一实施例中,还提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,当用户设备的至少一个处理器执行该计算机程序时,用户设备可以执行上述各种可能的编码和/或解码方法。
上述计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
此处公开的仅为本发明的优选实施例,本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,并不是对本发明的限定。任何本领域技术人员在说明书范围内所做的修改和变化,均应落在本发明所保护的范围内。

Claims (10)

1.一种用于深度学习编码的跨平台熵编码方法,其特征在于,包括:
S11:确定计算基于深度学习编码的熵编码模型的网络模块;
S12:将所述S11中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S13:载入训练好的模型参数,对基于深度学习编码的熵编码模型进行初始化后进行编码。
2.根据权利要求1所述的用于深度学习编码的跨平台熵编码方法,其特征在于,所述S11中的基于深度学习编码模型的网络模块包括:超先验分析网络、超先验重构网络以及熵编码模型网络。
3.根据权利要求1所述的用于深度学习编码的跨平台熵编码方法,其特征在于,所述S11中的基于深度学习编码模型的网络模块包括:超先验编码网络,上下文模型预测网络以及熵编码模型网络。
4.根据权利要求1所述的,其特征在于,所述S12中的参数替换和/或中间变量替换的方式为格式类型转换。
5.一种用于深度学习编码的跨平台熵解码方法,其特征在于,包括:
S21:确定计算基于深度学习编码的熵解码模型的网络模块;
S22:将所述S21中的网络模块中的模型参数替换为精度大于等于float64的浮点数的模型参数,并将其中计算所用的中间变量也替换为精度大于等于float64的浮点数的中间变量;
S23:载入训练好的模型参数,对基于深度学习编码的熵解码模型进行初始化后进行解码。
6.根据权利要求5所述的用于深度学习编码的跨平台熵解码方法,其特征在于,所述S12中的基于深度学习编码的熵解码模型的网络模块包括:超先验分析网络、超先验重构网络以及熵编码模型网络。
7.根据权利要求5所述的用于深度学习编码的跨平台熵解码方法,其特征在于,所述S21中的基于深度学习编码的熵解码模型的网络模块包括:超先验解码网络,上下文模型预测网络以及熵编码模型网络。
8.根据权利要求5所述的用于深度学习编码的跨平台熵解码方法,其特征在于,所述S22中的参数替换和/或中间变量替换的方式为格式类型转换。
9.一种电子终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4任一所述的用于深度学习编码的跨平台熵编码方法或者实现权利要求5-8任一所述的用于深度学习编码的跨平台熵解码方法。
10.一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其特征在于,所述计算机程序使得计算机执行权利要求1-4任一所述的用于深度学习编码的跨平台熵编码方法或者执行权利要求5-8任一所述的用于深度学习编码的跨平台熵解码方法。
CN202010727133.4A 2020-07-26 2020-07-26 一种用于深度学习编码的跨平台熵编码方法及解码方法 Pending CN112019865A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010727133.4A CN112019865A (zh) 2020-07-26 2020-07-26 一种用于深度学习编码的跨平台熵编码方法及解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010727133.4A CN112019865A (zh) 2020-07-26 2020-07-26 一种用于深度学习编码的跨平台熵编码方法及解码方法

Publications (1)

Publication Number Publication Date
CN112019865A true CN112019865A (zh) 2020-12-01

Family

ID=73500019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010727133.4A Pending CN112019865A (zh) 2020-07-26 2020-07-26 一种用于深度学习编码的跨平台熵编码方法及解码方法

Country Status (1)

Country Link
CN (1) CN112019865A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022242534A1 (zh) * 2021-05-21 2022-11-24 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190369960A1 (en) * 2018-06-05 2019-12-05 International Business Machines Corporation Enhanced low precision binary floating-point formatting
CN110602494A (zh) * 2019-08-01 2019-12-20 杭州皮克皮克科技有限公司 基于深度学习的图像编码、解码系统及编码、解码方法
CN111009018A (zh) * 2019-12-24 2020-04-14 苏州天必佑科技有限公司 基于深度神经网络的图像降维和重建方法
US20200210839A1 (en) * 2018-12-31 2020-07-02 Microsoft Technology Licensing, Llc Neural network activation compression with outlier block floating-point

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190369960A1 (en) * 2018-06-05 2019-12-05 International Business Machines Corporation Enhanced low precision binary floating-point formatting
US20200210839A1 (en) * 2018-12-31 2020-07-02 Microsoft Technology Licensing, Llc Neural network activation compression with outlier block floating-point
CN110602494A (zh) * 2019-08-01 2019-12-20 杭州皮克皮克科技有限公司 基于深度学习的图像编码、解码系统及编码、解码方法
CN111009018A (zh) * 2019-12-24 2020-04-14 苏州天必佑科技有限公司 基于深度神经网络的图像降维和重建方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022242534A1 (zh) * 2021-05-21 2022-11-24 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序

Similar Documents

Publication Publication Date Title
US10462476B1 (en) Devices for compression/decompression, system, chip, and electronic device
CN109409518B (zh) 神经网络模型处理方法、装置及终端
US10599935B2 (en) Processing artificial neural network weights
JP2020017274A (ja) ニューラルネットワークを使用するエンドツーエンド手書きテキスト認識のためのシステムおよび方法
US20210089871A1 (en) Processing system and method for binary weight convolutional neural network
CN109379598B (zh) 一种基于fpga实现的图像无损压缩方法
CN108510063B (zh) 一种应用于卷积神经网络的加速方法和加速器
US8775860B2 (en) System and method for exact regeneration of a failed node in a distributed storage system
US11928599B2 (en) Method and device for model compression of neural network
CN109840585B (zh) 一种面向稀疏二维卷积的运算方法和系统
CN115664899A (zh) 一种基于图神经网络的信道解码方法及系统
CN112019865A (zh) 一种用于深度学习编码的跨平台熵编码方法及解码方法
Yuan et al. A sot-mram-based processing-in-memory engine for highly compressed dnn implementation
CN114494006A (zh) 图像重建模型的训练方法、装置、电子设备及存储介质
CN113411615B (zh) 一种面向虚拟现实的纬度自适应的全景图像编码方法
CN112015325B (zh) 一种生成解码矩阵的方法、解码方法和对应装置
TWI777360B (zh) 深度學習加速晶片之資料壓縮方法、資料壓縮系統及運算方法
CN110766133B (zh) 嵌入式设备中的数据处理方法、装置、设备和存储介质
CN113705784A (zh) 一种基于矩阵共享的神经网络权重编码方法及硬件系统
CN110913220A (zh) 一种视频帧编码方法、装置及终端设备
CN111698060B (zh) 编码方法、装置、设备及存储介质
Shi et al. TECO: A Unified Feature Map Compression Framework Based on Transform and Entropy
CN112123750B (zh) 晶格的三维打印方法、装置、系统及存储介质
US20220222865A1 (en) System and method for image compression based on machine learning
CN110324620B (zh) 帧内预测方法、装置、电子设备及机器可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201201

WD01 Invention patent application deemed withdrawn after publication