CN111641826B - 对数据进行编码、解码的方法、装置与*** - Google Patents

对数据进行编码、解码的方法、装置与*** Download PDF

Info

Publication number
CN111641826B
CN111641826B CN201910157698.0A CN201910157698A CN111641826B CN 111641826 B CN111641826 B CN 111641826B CN 201910157698 A CN201910157698 A CN 201910157698A CN 111641826 B CN111641826 B CN 111641826B
Authority
CN
China
Prior art keywords
probability distribution
parameter
network
entropy
processing
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.)
Active
Application number
CN201910157698.0A
Other languages
English (en)
Other versions
CN111641826A (zh
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 Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910157698.0A priority Critical patent/CN111641826B/zh
Publication of CN111641826A publication Critical patent/CN111641826A/zh
Application granted granted Critical
Publication of CN111641826B publication Critical patent/CN111641826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/395Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving distributed video coding [DVC], e.g. Wyner-Ziv video coding or Slepian-Wolf video coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开是关于一种对数据进行编码、解码的方法、装置与***,属于数据压缩技术领域。方法包括:将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由第一处理网络处理输出的反映量化后的变化系数的概率分布的第一概率分布参数;根据第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;根据概率分布对量化后的变换系数进行熵编码处理,得到熵编码结果。采用本公开,根据更加准确的第一概率分布参数和第二概率分布参数,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。

Description

对数据进行编码、解码的方法、装置与***
技术领域
本公开是关于数据压缩技术领域,尤其是关于一种对数据进行编码、解码的方法、装置与***。
背景技术
在对数据如视频数据进行传输或者存储之前,需要对视频数据进行编码处理,以将视频数据压缩,压缩后的视频数据的数据量较小,这样更利于对视频数据传输和存储。可以以视频数据中的图像为单位进行编码,首先可以对图像进行变换处理,得到变换系数,接着可以对变换系数进行量化处理,得到量化后的变换系数,最后可以确定量化后的变换系数对应的概率分布,基于概率分布对量化后的变换系数进行熵编码处理,得到最终的图像码流。其中,量化后的变换系数可以是一个多维张量,包括一组数据,每个数据对应一个数据位。
量化后的变换系数中每个数据位的数据取值的概率满足高斯分布,高斯分布包括的参数有均值和方差,在确定均值和方差之后,给出变量的取值,就能确定变量对应的概率,因此确定概率分布的问题就可以转化为确定均值和方差的问题。一般会设置均值为0,在均值为0的情况下确定方差。相关技术中提供了一种确定方差的方式,可以预先训练编码器网络和解码器网络,编码器网络和解码器网络都可以是神经网络,编码器网络和解码器网络可以联合使用。可以将量化后的变换系数输入到编码器网络,编码器网络输出编码参数,将编码参数进行量化处理,将量化后的编码参数输入到解码器网络中,解码器网络输出方差。进而,可以基于均值和方差,确定概率分布,基于概率分布,对量化后的变换系数进行熵编码处理。需要说明的是,概率分布是估计数值,通过不同方式估计出的概率分布可以不同。当确定出的概率分布越准确时,对量化后的变换系数进行熵编码处理过程中的数据压缩率越高。
在实现本公开的过程中,发明人发现至少存在以下问题:
在上述过程中,直接将概率分布中的均值设置为0,但实际情况中的均值很可能并非为0,设置的均值与实际情况不符,进而会导致概率分布的准确度较低,得到的数据压缩率也较低。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种对数据进行编码的方法,所述方法包括:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数;
根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;
根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;
获取所述量化后的变换系数对应的边信息;
根据所述熵编码结果和所述边信息,生成向解码端发送的编码流。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数,包括:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数;
所述将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数,包括:
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数;
所述获取所述量化后的变换系数对应的边信息,包括:
根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息。
在本申请的一种可能的实现方式中,所述熵模型的第一处理网络包括第一编码器网络、第一量化器和第一解码器网络,所述将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数,包括:
将量化后的变换系数输入到所述第一编码器网络中,获取由所述第一编码器网络输出的第一超先验参数;
将所述第一超先验参数和对应的量化步长输入到所述第一量化器中,获取量化后由所述量化器输出的所述第一参数;
将所述第一参数输入到所述第一解码器网络中,获取由所述第一解码器网络输出的所述第一概率分布参数。
在本申请的一种可能的实现方式中,所述熵模型的第二处理网络包括第二编码器网络、第二量化器和第二解码器网络,所述将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数,包括:
确定所述第一概率分布参数和所述量化后的变换系数的差值的绝对值;
将所述差值的绝对值输入到所述第二编码器网络中,获取由所述第二编码器网络输出的第二超先验参数;
将所述第二超先验参数和对应的量化步长输入到所述第二量化器中,获取量化后由所述第二解码器网络输出的所述第二参数;
将所述第二参数输入到所述第二解码器网络中,获取由所述第二解码器网络输出的所述第二概率分布参数。
在本申请的一种可能的实现方式中,所述根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息,包括:
对所述第一参数进行熵编码处理,得到熵编码后的第一参数,对所述第二参数进行熵编码处理,得到熵编码后的第二参数;
对所述量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长;
基于所述熵编码后的量化步长、所述熵编码后的第一参数和所述熵编码后的第二参数,确定边信息。
在本申请的一种可能的实现方式中,所述第一编码器网络包括一个第一网络结构体,所述第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第一解码网络包括与所述第一网络结构体对称的网络结构体。
在本申请的一种可能的实现方式中,所述第二编码器网络包括一个第二网络结构体,所述第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第二解码网络包括与所述第二网络结构体对称的网络结构体。
根据本公开实施例的第二方面,提供一种对数据进行解码的方法,所述方法包括:
接收编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;
基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;
基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;
基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述边信息包括熵编码后的第一参数、熵编码后的第二参数和熵编码后的量化步长,所述基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数,包括:
对所述熵编码后的第一参数进行熵解码处理,得到第一参数;
对所述熵编码后的第二参数进行熵解码处理,得到第二参数;
将所述第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;
将所述第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
根据本公开实施例的第三方面,提供一种对数据进行编码的装置,所述装置包括:
获取模块,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数;
确定模块,用于根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;
熵编码模块,用于根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;
所述获取模块,用于获取所述量化后的变换系数对应的边信息;
生成模块,用于根据所述熵编码结果和所述边信息,生成向解码端发送的编码流。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述获取模块,用于:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数;
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数;
根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息。
在本申请的一种可能的实现方式中,所述熵模型的第一处理网络包括第一编码器网络、第一量化器和第一解码器网络,所述获取模块,用于:
将量化后的变换系数输入到所述第一编码器网络中,获取由所述第一编码器网络输出的第一超先验参数;
将所述第一超先验参数和对应的量化步长输入到所述第一量化器中,获取量化后由所述量化器输出的所述第一参数;
将所述第一参数输入到所述第一解码器网络中,获取由所述第一解码器网络输出的所述第一概率分布参数。
在本申请的一种可能的实现方式中,所述熵模型的第二处理网络包括第二编码器网络、第二量化器和第二解码器网络,所述获取模块,用于:
确定所述第一概率分布参数和所述量化后的变换系数的差值的绝对值;
将所述差值的绝对值输入到所述第二编码器网络中,获取由所述第二编码器网络输出的第二超先验参数;
将所述第二超先验参数和对应的量化步长输入到所述第二量化器中,获取量化后由所述第二解码器网络输出的所述第二参数;
将所述第二参数输入到所述第二解码器网络中,获取由所述第二解码器网络输出的所述第二概率分布参数。
在本申请的一种可能的实现方式中,所述生成模块,用于:
对所述第一参数进行熵编码处理,得到熵编码后的第一参数,对所述第二参数进行熵编码处理,得到熵编码后的第二参数;
对所述量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长;
基于所述熵编码后的量化步长、所述熵编码后的第一参数和所述熵编码后的第二参数,确定边信息。
在本申请的一种可能的实现方式中,所述第一编码器网络包括一个第一网络结构体,所述第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第一解码网络包括与所述第一网络结构体对称的网络结构体。
在本申请的一种可能的实现方式中,所述第二编码器网络包括一个第二网络结构体,所述第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第二解码网络包括与所述第二网络结构体对称的网络结构体。
根据本公开实施例的第四方面,提供一种对数据进行解码的装置,所述装置包括:
接收模块,用于接收编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;
确定模块,用于基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;
熵解码模块,用于基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述边信息包括熵编码后的第一参数、熵编码后的第二参数和熵编码后的量化步长,所述确定模块,用于:
对所述熵编码后的第一参数进行熵解码处理,得到第一参数;
对所述熵编码后的第二参数进行熵解码处理,得到第二参数;
将所述第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;
将所述第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
根据本公开实施例的第五方面,提供一种视频编解码***,所述***包括编码端和解码端,其中:
所述编码端,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数;根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;获取所述量化后的变换系数对应的边信息;根据所述熵编码结果和所述边信息,生成向所述解码端发送的编码流;
所述解码端,用于接收所述编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
根据本公开实施例的第六方面,提供一种编码端,所述编码端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述对数据进行编码的方法。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述对数据进行编码的方法。
根据本公开实施例的第八方面,提供一种解码端,所述解码端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述对数据进行解码的方法。
根据本公开实施例的第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述对数据进行解码的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,避免直接将第一概率分布参数如均值设置为0,而是通过量化后的变换系数和第一处理网络来确定出第一概率分布参数,确定出的第一概率分布参数相较于直接设置的值更加贴合实际。进而,根据更加准确的第一概率分布参数和第二概率分布参数,得到更加准确的概率分布,基于更加准确的概率分布,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种对数据进行编解码的***的结构示意图;
图2是根据一示例性实施例示出的一种对数据进行编码的方法的流程示意图;
图3是根据一示例性实施例示出的一种对数据进行编码的方法的流程示意图;
图4是根据一示例性实施例示出的一种对数据进行编码的装置的结构示意图;
图5是根据一示例性实施例示出的一种对数据进行编码的装置的结构示意图;
图6是根据一示例性实施例示出的一种网络的结构示意图;
图7是根据一示例性实施例示出的一种网络的结构示意图;
图8是根据一示例性实施例示出的一种对数据进行编码的装置的结构示意图;
图9是根据一示例性实施例示出的一种对数据进行解码的方法的流程示意图;
图10是根据一示例性实施例示出的一种对数据进行解码的装置的结构示意图;
图11是根据一示例性实施例示出的一种对数据进行编码的装置的结构示意图;
图12是根据一示例性实施例示出的一种对数据进行解码的装置的结构示意图;
图13是根据一示例性实施例示出的一种解码端的结构示意图;
图14是根据一示例性实施例示出的一种解码端的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种对数据进行编码的方法和一种对数据进行解码的方法,进行熵编码的方法可以由编码端实现,进行熵解码的方法可以由解码端实现。如图1上图所示,编码端可以包括变换模块、量化模块、熵编码模块和熵模型。如图1下图所示,解码端可以包括反变换模块、反量化模块和熵解码模块。
对于编码端,可以获取待编码的数据,待编码的数据可以是图像、视频、音频等,可以是任何能用矩阵描述的信息或者能用向量描述的信息。可以将待编码的数据输入到变换模块中,进行变换处理,输出为变换系数。可以将变换系数输入到量化模块中,进行量化处理,输出为量化后的变换系数。可以将量化后的变换系数输入到熵模型中,输出为概率分布的概率分布参数。可以将量化后的变换系数和概率分布参数同时输入到熵编码模块中,进行熵编码处理,输出为熵编码结果。可以向解码端发送熵编码结果。同时,熵模型还可以输出边信息。可以向解码端发送边信息,解码端可以基于边信息恢复概率分布参数。
对于解码端,可以获取编码端发送的熵编码结果和边信息。可以基于边信息恢复概率分布参数。可以将概率分布参数和熵编码结果同时输入到熵解码模块中,进行熵解码处理,输出为量化后的变换系数。可以将量化后的变换系数输入到反量化模块中,进行反量化处理,输出为变换系数。可以将变换系数输入到反变换模块,进行反变换处理,输出为重构数据。
本公开一示例性实施例提供了一种对数据进行编码的方法,如图2所示,该方法的处理流程可以包括如下的步骤:
步骤S210,编码端将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由第一处理网络处理输出的反映量化后的变化系数的概率分布的第一概率分布参数。
在实施中,编码端可以基于待编码的数据,确定量化后的变换系数。其中,量化后的变换系数可以是图像块进行变换和量化后得到。图像块可以是待处理图像进行块划分后的任意一个图像块,待处理图像可以是任意一个图像或者任意一个视频图像或者任意一个待编码图像。
待编码的数据可以是图像,图像可以由像素值构成,待编码的图像中的像素值之间存在一定的相关性。在编码端,变换模块可以对待编码的数据进行变换处理得到变换系数,这样可以消除待编码的图像中的像素值之间的相关性,进而可以实现对待编码的图像进行压缩的目的。变换系数可以包括一组数据。量化模块可以对变换系数进行量化处理得到量化后的变换系数,量化模块可以将变换系数映射到一个有限的整数集合中,使其适合进行后续的熵编码处理。量化后的变换系数可以是一个多维张量,包括一组数据,每个数据对应一个数据位。
量化后的变换系数可以是一个多维张量,包括一组数据,每个数据对应一个数据位。对于量化后的变换系数中的每个数据位,数据位上的数据的取值可以为一个有限的整数集合中的任何数值,数据位上的数据的取值为一个有限的整数集合中的任一数据存在一定的概率,数据位上的数据的取值为一个有限的整数集合中的每个数值的概率构成该数据位对应的概率分布。量化后的变换系数中的所有数据位都对应有各自取值的概率分布。
例如,量化后的变换系数包括10个数据位,每个数据位上的数据的取值可以为1至5之间的所有整数,这样,对于每个数据位来说,它可能的取值为1、2、3、4、5。以第一个数据位为例,它取值为1的概率为0.1,取值为2的概率为0.2,取值为3的概率为0.4,取值为4的概率为0.1,取值为5的概率为0.2。该第一个数据位所有取值的概率为1个概率分布。量化后的变换系数包括10个数据位,则该量化后的变换系数对应有10个概率分布,该10个概率分布可以认为是一个多维的概率分布。
可以假设每个数据位对应的取值的概率分布满足高斯分布,高斯分布也可以称为正态分布,则当确定高斯分布的均值和方差之后,给定任一变量(数据位)的取值,就可以确定取值的概率。在本申请的一种可能的实现方式中,当概率分布为高斯分布时,第一概率分布参数为对应高斯分布模型的均值,第二概率分布参数为对应高斯分布模型的方差。
均值可以是一组样本数据中所有样本数据之和再除以这组样本数据的个数所得的结果。方差可以是一组样本数据中每个样本数据与均值的差值的平方除以这组样本数据的个数所得的结果。
还可以假设每个数据位对应的取值的概率分布满足拉普拉斯分布,则当确定拉普拉斯分布的位置参数和尺度参数之后,给定任一变量(数据位)的取值,就可以确定取值的概率。在本申请的一种可能的实现方式中,当概率分布为拉普拉斯分布时,第一概率分布参数为对应拉普拉斯分布模型中的位置参数,第二概率分布参数为拉普拉斯分布模型中的尺度参数。
拉普拉斯分布的概率密度模型可以见公式1所示。
Figure BDA0001983455170000131
其中,p(x)为拉普拉斯分布的概率密度模型,x为自变量,μ为位置参数,λ为尺度参数。
在选定设置每个数据位对应的取值的概率分布满足高斯分布或者拉普拉斯分布之后,可以唯一确定概率分布对应的概率分布参数,基于概率分布参数,对量化后的变化系数进行熵编码处理。
在本申请的一种可能的实现方式中,步骤S210可以包括:将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由第一处理网络处理后输出的第一概率分布参数和由第一处理网络在输出第一概率分布参数之前生成的第一参数。
在实施中,熵模型的第一处理网络可以包括第一编码器网络、第一量化器和第一解码器网络。编码端可以将量化后的变换系数输入到第一编码器网络中,获取由第一编码器网络输出的第一超先验参数;将第一超先验参数和对应的量化步长输入到第一量化器中,获取量化后由量化器输出的第一参数;将第一参数输入到第一解码器网络中,获取由第一解码器网络输出的第一概率分布参数。
编码端可以获取量化后的变换系数,基于量化后的变换系数和第一编码器网络,确定第一超先验参数(hyper-prior)。第一编码器网络可以是神经网络,可以通过大量的量化后的变换系数对第一编码器网络进行训练。
在确定第一超先验参数之后,可以将第一超先验参数和对应的量化步长输入到第一量化器中,获取量化后由量化器输出的第一参数,基于第一参数,确定第一概率分布参数。第一解码器网络也可以是神经网络,可以通过大量的量化后的变换系数对第一解码器网络进行训练。第一编码器网络和第一解码器网络可以联合使用,当将量化后的变换系数输入到第一编码器网络和第一解码器网络中时,它可以输出量化后的变换系数中每个数据位的数据取值的概率对应的概率分布参数。
当假设每个数据位对应的取值的概率分布满足高斯分布时,步骤S210可以包括:将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由第一处理网络处理输出的反映量化后的变化系数的高斯分布模型的均值。当假设每个数据位对应的取值的概率分布满足拉普拉斯分布时,步骤S210可以包括:将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由第一处理网络处理输出的反映量化后的变化系数的拉普拉斯模型的位置参数。
步骤S220,编码端将第一概率分布参数和量化后的变换系数预处理后输入到熵模型的第二处理网络,获取由第二处理网络处理输出的反映量化后的变化系数的概率分布的第二概率分布参数。
在实施中,当假设每个数据位对应的取值的概率分布满足高斯分布时,步骤S220可以包括:将均值和量化后的变换系数预处理后输入到熵模型的第二处理网络,获取由第二处理网络处理输出的反映量化后的变化系数的高斯分布模型的方差。当假设每个数据位对应的取值的概率分布满足拉普拉斯分布时,步骤S220可以包括:将位置参数和量化后的变换系数预处理后输入到熵模型的第二处理网络,获取由第二处理网络处理输出的反映量化后的变化系数的拉普拉斯模型的尺度参数。
在本申请的一种可能的实现方式中,步骤S220可以包括:将第一概率分布参数和量化后的变换系数预处理后输入到熵模型的第二处理网络,获取由第二处理网络处理输出的第二概率分布参数和由第二处理网络在输出第二概率分布参数之前生成的第二参数。
在实施中,熵模型的第二处理网络可以包括第二编码器网络、第二量化器和第二解码器网络。编码端可以确定第一概率分布参数和量化后的变换系数的差值的绝对值;将差值的绝对值输入到第二编码器网络中,获取由第二编码器网络输出的第二超先验参数;将第二超先验参数和对应的量化步长输入到第二量化器中,获取量化后由第二解码器网络输出的第二参数;将第二参数输入到第二解码器网络中,获取由第二解码器网络输出的第二概率分布参数。
第二编码器网络和第二解码器网络都可以是神经网络,第二编码器网络和第二解码器网络可以联合使用,当将量化后的变换系数和第一概率分布参数的差值的绝对值输入到第一编码器网络和第一解码器网络中时,它可以输出量化后的变换系数中的每个数据位对应的取值的概率分布对应的第二概率分布参数。
步骤S230,编码端根据第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布。
在实施中,在确定了第一概率分布参数和第二概率分布参数之后,可以将第一概率分布参数和第二概率分布参数代入到预设的概率分布模型中,确定量化后的变换系数的概率分布。
步骤S240,编码端根据概率分布对量化后的变换系数进行熵编码处理,得到熵编码结果。
在实施中,可以通过算数编码或者哈夫曼编码实现熵编码处理。其中,算数编码为实现压缩图像或者视频的一种无损压缩方式,通过将编码消息表示成实数0和1之间的一个间隔,再读取一个个信号,就可以将该信号源在[0,1)上的范围按照一定的比例缩小到最新的间隔中,通常这个比例就是概率分布表。
步骤S250,编码端获取量化后的变换系数对应的边信息。
在实施中,编码端可以根据量化后的变换系数对应的量化步长、第一参数和第二参数,生成边信息。
编码端可以对第一参数进行熵编码处理,得到熵编码后的第一参数,对第二参数进行熵编码处理,得到熵编码后的第二参数。对量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长。基于熵编码后的量化步长、熵编码后的第一参数和熵编码后的第二参数,确定边信息。
编码端可以将边信息发送到解码端,以使解码端可以基于边信息,确定第一参数和第二参数,再基于第一参数和第二参数,确定第一概率分布参数和第二概率分布参数。由于在编码端是基于第一概率分布参数和第二概率分布参数,对量化后的变换系数进行熵编码处理的,因此在解码端还需要使用第一概率分布参数和第二概率分布参数进行熵解码处理。故而,需要将可以确定出第一概率分布参数和第二概率分布参数的信息携带在边信息中发送至解码端。
在边信息中,除了携带有可以确定出第一概率分布参数和第二概率分布参数的信息之外,还可以携带有量化步长等参数。量化步长是在对数据进行量化处理的过程中使用的参数,例如可以基于量化步长,对第一超先验参数进行量化处理,得到第一参数,也可以基于量化步长,对第二超先验参数进行量化处理,得到第二参数。
量化处理过程中可以通过公式2,对数据进行量化处理。
Figure BDA0001983455170000161
其中,
Figure BDA0001983455170000162
为量化结果,round()为四舍五入处理,zi为量化前的数据,si为量化步长。
Figure BDA0001983455170000163
和s可以为一个多维张量,下标i表示多维张量中的第i个元素。
步骤S260,编码端根据熵编码结果和边信息,生成向解码端发送的编码流。
在实施中,通过上述几个步骤,可以对待编码的数据进行编码,达到压缩数据的目的,可以将编码流存储在编码端,也可以将其发送至解码端。例如,编码端是监控端,在采集监控视频之后,可以对监控视频进行编码,将编码流存储在本地,后续可以直接对编码流进行解码,并播放重构视频。或者,可以将编码流发送至远程的播放端,由播放端解码。解码端可以基于熵编码结果和边信息,再恢复出重构数据,其中重构数据可以是重构图像。
通过本公开实施例提供的方法,避免直接将第一概率分布参数如均值设置为0,而是通过量化后的变换系数和第一处理网络来确定出第一概率分布参数,确定出的第一概率分布参数相较于直接设置的值更加贴合实际。进而,根据更加准确的第一概率分布参数和第二概率分布参数,得到更加准确的概率分布,基于更加准确的概率分布,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。
基于和上述实施例相同的构思,本公开一示例性实施例还提供了一种对数据进行编码的方法,如图3所示,该方法的处理流程可以包括如下的步骤:
步骤S301,编码器将量化后的变换系数输入到第一编码器网络中,获取由第一编码器网络输出的第一超先验参数。
其中,量化后的变换系数可以是一个多维张量,包括一组数据,每个数据对应一个数据位。
在实施中,如图4所示,可以将待编码的图像I输入到变换模块,输出为变换系数Z。接着,可以将变换系数Z和量化步长S输入到量化模块,输出为量化后的变换系数
Figure BDA0001983455170000171
接着,可以将量化后的变换系数
Figure BDA0001983455170000172
输入到熵模型中,输出为概率分布参数。其中,Z、S和
Figure BDA0001983455170000173
都可以是一个多维张量。具体量化处理可以通过公式1实现。
第一编码器网络可以是神经网络,可以通过大量的量化后的变换系数对第一编码器网络进行训练。
在实施中,仍如图4所示,熵模型还可以拆分为多个子模块,每个子模块具有不同的功能。熵模型可以包括编码器网络HE1、第一量化器、解码器网络HD1、编码器网络HE2、第二量化器和解码器网络HD2
可以将量化后的变换系数
Figure BDA0001983455170000174
输入到编码器网络HE1(也可称为第一编码器网络、高层编码器网络HE1)中,输出为第一超先验参数h1
Figure BDA0001983455170000175
其中,
Figure BDA0001983455170000176
为量化后的变换系数,φ为编码器网络HE1的网络参数。
步骤S302,编码端将第一超先验参数和对应的量化步长输入到第一量化器中,获取量化后由量化器输出的第一参数。
在实施中,可以将第一超先验参数h1和量化步长S输入到第一量化器(可以是量化器Q)中,输出为第一参数
Figure BDA0001983455170000177
在本公开实施例中,不是直接将量化后的变换系数输入到一个神经网络中,直接获得神经网络输出的第一概率分布参数,而是分成两个神经网络分几步获得第一概率分布参数。这是因为,第一概率分布参数的数据量较大,不便于直接将其传输到解码端,这会大大提高传输码率。为了解决上述问题,可以选择将第一概率分布参数的特征数据传出到解码端,这个特征数据的数据量较小,同时在解码端基于一定的规则,还可以将特征数据恢复成第一概率分布参数。第一参数
Figure BDA0001983455170000178
就可以作为特征数据,它的数据量较小,同时在解码端可以通过第一解码器网络再将其恢复成第一概率分布参数。需要说明的是,在确定第二概率分布参数时,也是基于类似的原理进行的,在下文就不再赘述了。
步骤S303,编码端将第一参数输入到第一解码器网络中,获取由第一解码器网络输出的第一概率分布参数。
其中,第一解码器网络也可以是神经网络,可以通过大量的量化后的变换系数对第一解码器网络进行训练。第一编码器网络和第一解码器网络可以联合使用,当将量化后的变换系数输入到第一编码器网络和第一解码器网络中时,它可以输出量化后的变换系数中每个数据位的数据取值的概率对应的概率分布参数。
在实施中,可以将第一参数
Figure BDA0001983455170000181
输入到解码器网络HD1(也可称为第一解码器网络、高层解码器网络HD1)中,输出为第一概率分布参数m。m可以是均值,也可以是位置参数。
在本申请的一种可能的实现方式中,第一编码器网络可以包括一个第一网络结构体,第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,第一解码器网络包括与第一网络结构体对称的网络结构体。
其中,第一编码器网络和第二编码器网络可以相同,也可以不同。第一解码器网络和第二解码器网络可以不同。
在实施中,如图5所示,是编码器网络HE1、第一量化器和解码器网络HD1的内部结构示意图。
在实施中,如图5所示,是编码器网络HE1、第一量化器和解码器网络HD1的内部结构示意图。其中,HE1表示编码器网络HE1,HD1表示解码器网络HD1,Q为第一量化器。Conv表示卷积核的尺寸是3×3的,一层一共有64个卷积核。Encoder LSTM表示一个网络,其内部的结构可以见图6所示。Decoder LSTM表示一个网络,其内部的结构可以见图7所示。M表示该层中卷积核的数量。Activation tanh表示激活层。
在图6中,LSTM表示长短期记忆网络,朝下的箭头表示为下采样处理。CNNL表示卷积层,它里面的卷积核尺寸可以设置为3×3,数量可以设置为256个。Z1至Z4表示变换域分量。在图7中,LSTM表示长短期记忆网络,可以进行反卷积处理,朝上的箭头表示为上采样处理。CNNL表示卷积层,它里面的卷积核尺寸可以设置为3×3,数量可以设置为256个。
相对于传统方式,通过LSTM网络单元脱离了时域依赖性转换为空域依赖性,可以去冗余,LSTM单元的处理依赖于上一编码单元对应位置的LSTM结果(可以理解成图像块)的LSTM的处理结构,以及自身的处理结果会传递到下一LSTM单元以及下一编码单元对应位置的LSTM单元。
步骤S304,编码端确定第一概率分布参数和量化后的变换系数的差值的绝对值。
在实施中,编码端可以确定量化后的变换系数
Figure BDA0001983455170000194
与第一概率分布参数m的差值的绝对值。
步骤S305,将差值的绝对值输入到第二编码器网络中,获取由第二编码器网络输出的第二超先验参数。
在实施中,可以将差值的绝对值输入到编码器网络HE2(也可称为第二编码器网络)中,输出为第二超先验参数h2
步骤S306,编码端将第二超先验参数和对应的量化步长输入到第二量化器中,获取量化后由第二解码器网络输出的第二参数。
在实施中,可以将第二超先验参数h2和量化步长S输入到第二量化器(可以是量化器Q)中,输出为第二参数
Figure BDA0001983455170000191
步骤S307,编码端将第二参数输入到第二解码器网络中,获取由第二解码器网络输出的第二概率分布参数。
在实施中,可以将第二参数
Figure BDA0001983455170000192
输入到解码器网络HD2(也可称为第二解码器网络)中,输出为第二概率分布参数v。第二概率分布参数v可以是方差,也可以是尺度参数。
在本申请的一种可能的实现方式中,第二编码器网络可以包括一个第二网络结构体,第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,第二解码器网络包括与第二网络结构体对称的网络结构体。
如图8所示,是编码器网络HE2、第二量化器和解码器网络HD2的内部结构示意图。其中,在absD模块中,可以计算量化后的变换系数
Figure BDA0001983455170000193
与第一概率分布参数m的差值的绝对值。其中,HE2表示编码器网络HE2,HD2表示解码器网络HD2,Q表示第二量化器。Conv表示卷积核的尺寸是3×3的,一层一共有64个或者512个卷积核。Encoder LSTM表示一个网络,其内部的结构可以见图6所示。Decoder LSTM表示一个网络,其内部的结构可以见图7所示。M表示该层中卷积核的数量。Relu表示全连接。Activation tanh表示激活层。
第一编码器网络包括LSTM网络单元和卷积层,第一解码器网络的多个上采样LSTM网络单元和卷积层(可以进行反卷积计算)。第二编码器网络包括LSTM网络单元和卷积层,第二解码器网络包括多个上采样LSTM网络单元和卷积层(可以进行反卷积计算)。
对于LSTM网络单元可以具有记忆功能,LSTM网络单元包括依次相连的多级记忆单元,所述多级记忆单元用于对多个图像块进行处理,每级记忆单元用于对输入的图像块进行处理并将处理结果和/或该记忆单元的网络状态参数传递给下一级记忆单元。所述每级记忆单元至少包括依次相连的多个子记忆单元(编码LSTM或解码LSTM),且所述每级记忆单元中的子记忆单元与下一级记忆单元中对应位置的子记忆单元相连;通过图像块对应的记忆单元中的每个子记忆单元对输入数据进行处理,并由所述每个子记忆单元将处理结果和网络状态数据传输给下一级记忆单元中对应位置的子记忆单元;将所述当前图像块对应的第一记忆单元中最后一个第一子记忆单元输出的处理结果作为所述LSTM网络单元的输出。
第一解码器网络和第二解码器网络的结构和功能不同。
相对于传统方式,通过LSTM网络单元脱离了时域依赖性转换为空域依赖性,可以去冗余,LSTM单元的处理依赖于上一编码单元对应位置的LSTM结果(可以理解成图像块)的LSTM的处理结构,以及自身的处理结果会传递到下一LSTM单元以及下一编码单元对应位置的LSTM单元。
步骤S308,编码端根据第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布。
步骤S309,编码端根据概率分布对量化后的变换系数进行熵编码处理,得到熵编码结果。
步骤S310,编码端获取量化后的变换系数对应的边信息。
在实施中,可以通过算数编码或者哈夫曼编码实现熵编码处理。可以根据第一概率分布参数m和第二概率分布参数v确定概率分布P,根据概率分布P,对量化后的变换系数
Figure BDA0001983455170000201
进行熵编码处理,得到熵编码结果。熵编码结果可以是二进制的熵编码结果bin1
同时,还可以基于第一参数和第二参数确定边信息。
可以对第一参数
Figure BDA0001983455170000202
第二参数
Figure BDA0001983455170000203
和量化步长S进行熵编码处理,得到边信息bin2。其中,在进行熵编码处理的过程中,可以基于默认的概率分布参数,对第一参数
Figure BDA0001983455170000204
第二参数
Figure BDA0001983455170000205
和量化步长S进行熵编码处理。
步骤S311,编码端根据熵编码结果和边信息,生成向解码端发送的编码流。
在实施中,通过上述几个步骤,可以对待编码的数据进行编码,达到压缩数据的目的,接着就可以将编码得到的熵编码结果和边信息发送至解码端。解码端可以基于熵编码结果和边信息,再恢复出重构数据。其中,重构数据可以是重构图像。
通过本公开实施例提供的方法,避免直接将第一概率分布参数如均值设置为0,而是通过量化后的变换系数和第一处理网络来确定出第一概率分布参数,确定出的第一概率分布参数相较于直接设置的值更加贴合实际。进而,根据更加准确的第一概率分布参数和第二概率分布参数,得到更加准确的概率分布,基于更加准确的概率分布,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。
基于和上述实施例相同的构思,本公开一示例性实施例还提供了一种对数据进行编码的方法,如图9所示,该方法的处理流程可以包括如下的步骤:
步骤S610,解码端接收编码端发送的编码流。
其中,编码流包括熵编码结果和边信息。
在实施中,编码流可以是本地存储的数据,也可以是编码端发送到本地的数据。
编码端对待编码的数据进行编码处理,得到熵编码结果和边信息,将熵编码结果和边信息发送至解码端,解码端可以接收到熵编码结果bin1和边信息bin2
步骤S620,解码端基于边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数。
在实施中,如图10所示,解码端可以基于边信息bin2,确定第一参数
Figure BDA0001983455170000211
和第二参数
Figure BDA0001983455170000212
与此同时,还可以确定量化步长S。
在本申请的一种可能的实现方式中,边信息包括熵编码后的第一参数和熵编码后的第二参数,步骤S620可以包括:对熵编码后的第一参数进行熵解码处理,得到第一参数;对熵编码后的第二参数进行熵解码处理,得到第二参数;将第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;将第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
其中,解码端的第一解码网器网络和编码端的第一解码器网络的网络是完全一样的,这样,将第一参数输入到解码端的第一解码网器网络才能输出和编码端的第一解码器网络输出的完全一样的第一概率分布参数。
解码端的第二解码网器网络和编码端的第二解码器网络的网络是完全一样的,这样,将第二参数输入到解码端的第二解码网器网络才能输出和编码端的第二解码器网络输出的完全一样的第二概率分布参数。
在实施中,可以对边信息bin2进行熵解码处理,得到量化步长S、第一参数
Figure BDA0001983455170000221
和第二参数
Figure BDA0001983455170000222
解码端可以将第一参数
Figure BDA0001983455170000223
输入到解码器网络HD1中,输出为第一概率分布参数m。同时还可以将第二参数
Figure BDA0001983455170000224
输入到解码器网络HD2中,输出为第二概率分布参数v。
在本公开实施例中,在编码端不是直接将第一概率分布参数和第二概率分布参数直接发送到解码端,这是因为,第一概率分布参数和第二概率分布参数的数据量较大,不便于直接将其传输到解码端,这会大大提高传输码率。为了解决上述问题,可以选择将第一概率分布参数和第二概率分布参数的特征数据传出到解码端,这个特征数据的数据量较小,同时在解码端基于一定的规则,还可以将特征数据恢复成第一概率分布参数和第二概率分布参数。第一参数
Figure BDA0001983455170000225
和第二参数
Figure BDA0001983455170000226
就可以作为特征数据,它的数据量较小,同时在解码端可以通过解码器网络再将其恢复成第一概率分布参数m和第二概率分布参数v。
量化后的变换系数可以是一个多维张量,包括一组数据,每个数据对应一个数据位。对于量化后的变换系数中的每个数据位,数据位上的数据的取值可以为一个有限的整数集合中的任何数值,数据位上的数据的取值为一个有限的整数集合中的任一数据存在一定的概率,数据位上的数据的取值为一个有限的整数集合中的每个数值的概率构成该数据位对应的概率分布。量化后的变换系数中的所有数据位都对应有各自取值的概率分布。
例如,量化后的变换系数包括10个数据位,每个数据位上的数据的取值可以为1至5之间的所有整数,这样,对于每个数据位来说,它可能的取值为1、2、3、4、5。以第一个数据位为例,它取值为1的概率为0.1,取值为2的概率为0.2,取值为3的概率为0.4,取值为4的概率为0.1,取值为5的概率为0.2。该第一个数据位所有取值的概率为1个概率分布。量化后的变换系数包括10个数据位,则该量化后的变换系数对应有10个概率分布,该10个概率分布可以认为是一个多维的概率分布。
可以假设每个数据位对应的取值的概率分布满足高斯分布,高斯分布也可以称为正态分布,则当确定高斯分布的均值和方差之后,给定任一变量(数据位)的取值,就可以确定取值的概率。在本申请的一种可能的实现方式中,当概率分布为高斯分布时,第一概率分布参数为对应高斯分布模型的均值,第二概率分布参数为对应高斯分布模型的方差。
均值可以是一组样本数据中所有样本数据之和再除以这组样本数据的个数所得的结果。方差可以是一组样本数据中每个样本数据与均值的差值的平方除以这组样本数据的个数所得的结果。
还可以假设每个数据位对应的取值的概率分布满足拉普拉斯分布,则当确定拉普拉斯分布的位置参数和尺度参数之后,给定任一变量(数据位)的取值,就可以确定取值的概率。在本申请的一种可能的实现方式中,当概率分布为拉普拉斯分布时,第一概率分布参数为对应拉普拉斯分布模型中的位置参数,第二概率分布参数为拉普拉斯分布模型中的尺度参数。
拉普拉斯分布的概率密度模型可以见公式3所示。
Figure BDA0001983455170000231
其中,p(x)为拉普拉斯分布的概率密度模型,x为自变量,μ为位置参数,λ为尺度参数。
步骤S630,解码端基于第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布。
在实施中,解码端可以基于第一概率分布参数m和第二概率分布参数v,确定概率分布P。
步骤S640,解码端基于概率分布,对熵编码结果进行熵解码处理,得到量化后的变换系数。
在实施中,解码端可以根据概率分布P,对熵编码结果bin1进行熵解码处理,得到量化后的变换系数
Figure BDA0001983455170000232
在本申请的一种可能的实现方式中,解码端还可以基于量化后的变换系数,生成重构数据。
在实施中,解码端可以将量化步长S和量化后的变换系数
Figure BDA0001983455170000233
输入到反量化模块中,输出为变换系数Z。再将变换系数Z输入到反变换模块中,输出为重构数据
Figure BDA0001983455170000234
通过本公开实施例提供的方法,避免直接将第一概率分布参数如均值设置为0,而是通过量化后的变换系数和第一处理网络来确定出第一概率分布参数,确定出的第一概率分布参数相较于直接设置的值更加贴合实际。进而,根据更加准确的第一概率分布参数和第二概率分布参数,得到更加准确的概率分布,基于更加准确的概率分布,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。
本公开又一示例性实施例提供了一种对数据进行编码的装置,如图11所示,该装置包括:
获取模块710,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数;
确定模块720,用于根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;
熵编码模块730,用于根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;
所述获取模块710,用于获取所述量化后的变换系数对应的边信息;
生成模块740,用于根据所述熵编码结果和所述边信息,生成向解码端发送的编码流。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述获取模块710,用于:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数;
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数;
根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息。
在本申请的一种可能的实现方式中,所述熵模型的第一处理网络包括第一编码器网络、第一量化器和第一解码器网络,所述获取模块710,用于:
将量化后的变换系数输入到所述第一编码器网络中,获取由所述第一编码器网络输出的第一超先验参数;
将所述第一超先验参数和对应的量化步长输入到所述第一量化器中,获取量化后由所述量化器输出的所述第一参数;
将所述第一参数输入到所述第一解码器网络中,获取由所述第一解码器网络输出的所述第一概率分布参数。
在本申请的一种可能的实现方式中,所述熵模型的第二处理网络包括第二编码器网络、第二量化器和第二解码器网络,所述获取模块710,用于:
确定所述第一概率分布参数和所述量化后的变换系数的差值的绝对值;
将所述差值的绝对值输入到所述第二编码器网络中,获取由所述第二编码器网络输出的第二超先验参数;
将所述第二超先验参数和对应的量化步长输入到所述第二量化器中,获取量化后由所述第二解码器网络输出的所述第二参数;
将所述第二参数输入到所述第二解码器网络中,获取由所述第二解码器网络输出的所述第二概率分布参数。
在本申请的一种可能的实现方式中,所述生成模块740,用于:
对所述第一参数进行熵编码处理,得到熵编码后的第一参数,对所述第二参数进行熵编码处理,得到熵编码后的第二参数;
对所述量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长;
基于所述熵编码后的量化步长、所述熵编码后的第一参数和所述熵编码后的第二参数,确定边信息。
在本申请的一种可能的实现方式中,所述第一编码器网络包括一个第一网络结构体,所述第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第一解码网络包括与所述第一网络结构体对称的网络结构体。
在本申请的一种可能的实现方式中,所述第二编码器网络包括一个第二网络结构体,所述第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第二解码网络包括与所述第二网络结构体对称的网络结构体。
本公开又一示例性实施例提供了一种对数据进行解码的装置,如图12所示,该装置包括:
接收模块810,用于接收编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;
确定模块820,用于基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;
熵解码模块830,用于基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
在本申请的一种可能的实现方式中,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
在本申请的一种可能的实现方式中,所述边信息包括熵编码后的第一参数、熵编码后的第二参数和熵编码后的量化步长,所述确定模块820,用于:
对所述熵编码后的第一参数进行熵解码处理,得到第一参数;
对所述熵编码后的第二参数进行熵解码处理,得到第二参数;
将所述第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;
将所述第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,避免直接将第一概率分布参数如均值设置为0,而是通过量化后的变换系数和第一处理网络来确定出第一概率分布参数,确定出的第一概率分布参数相较于直接设置的值更加贴合实际。进而,根据更加准确的第一概率分布参数和第二概率分布参数,得到更加准确的概率分布,基于更加准确的概率分布,对量化后的变换系数进行熵编码处理时,得到的数据压缩率较高。
需要说明的是:上述实施例提供的对数据进行编码的装置和对数据进行解码的装置在进行视频编解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将编码端或者解码端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对数据进行编码的装置、对数据进行解码的装置与对数据进行编码的方法、对数据进行解码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开再一示例性实施例提供了一种视频编解码***,所述***包括编码端和解码端,其中:
所述编码端,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数;根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;获取所述量化后的变换系数对应的边信息;根据所述熵编码结果和所述边信息,生成向所述解码端发送的编码流;
所述解码端,用于接收所述编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
关于上述实施例中的***,其中编码端、解码端执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13示出了本公开一个示例性实施例提供的编码端1900的结构示意图。该编码端1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1910和一个或一个以上的存储器1920。其中,所述存储器1920中存储有至少一条指令,所述至少一条指令由所述处理器1910加载并执行以实现上述实施例所述的对数据进行编码的方法。
图14示出了本公开一个示例性实施例提供的解码端2000的结构示意图。该解码端2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)2010和一个或一个以上的存储器2020。其中,所述存储器2020中存储有至少一条指令,所述至少一条指令由所述处理器2010加载并执行以实现上述实施例所述的对数据进行解码的方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (27)

1.一种对数据进行编码的方法,其特征在于,所述方法包括:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数,其中,所述第一概率分布参数和所述第二概率分布参数为属于同一概率分布的不同参数;
根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;
根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;
获取所述量化后的变换系数对应的边信息;
根据所述熵编码结果和所述边信息,生成向解码端发送的编码流。
2.根据权利要求1所述的方法,其特征在于,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
3.根据权利要求1所述的方法,其特征在于,所述将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数,包括:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数;
所述将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数,包括:
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数;
所述获取所述量化后的变换系数对应的边信息,包括:
根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息。
4.根据权利要求3所述的方法,其特征在于,所述熵模型的第一处理网络包括第一编码器网络、第一量化器和第一解码器网络,所述将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数,包括:
将量化后的变换系数输入到所述第一编码器网络中,获取由所述第一编码器网络输出的第一超先验参数;
将所述第一超先验参数和对应的量化步长输入到所述第一量化器中,获取量化后由所述量化器输出的所述第一参数;
将所述第一参数输入到所述第一解码器网络中,获取由所述第一解码器网络输出的所述第一概率分布参数。
5.根据权利要求3所述的方法,其特征在于,所述熵模型的第二处理网络包括第二编码器网络、第二量化器和第二解码器网络,所述将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数,包括:
确定所述第一概率分布参数和所述量化后的变换系数的差值的绝对值;
将所述差值的绝对值输入到所述第二编码器网络中,获取由所述第二编码器网络输出的第二超先验参数;
将所述第二超先验参数和对应的量化步长输入到所述第二量化器中,获取量化后由所述第二解码器网络输出的所述第二参数;
将所述第二参数输入到所述第二解码器网络中,获取由所述第二解码器网络输出的所述第二概率分布参数。
6.根据权利要求3所述的方法,其特征在于,所述根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息,包括:
对所述第一参数进行熵编码处理,得到熵编码后的第一参数,对所述第二参数进行熵编码处理,得到熵编码后的第二参数;
对所述量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长;
基于所述熵编码后的量化步长、所述熵编码后的第一参数和所述熵编码后的第二参数,确定边信息。
7.根据权利要求4所述的方法,其特征在于,所述第一编码器网络包括一个第一网络结构体,所述第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第一解码器网络包括与所述第一网络结构体对称的网络结构体。
8.根据权利要求5所述的方法,其特征在于,所述第二编码器网络包括一个第二网络结构体,所述第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第二解码器网络包括与所述第二网络结构体对称的网络结构体。
9.一种对数据进行解码的方法,其特征在于,所述方法包括:
接收编码端发送的编码流,其中,所述编码流为所述编码端采用如权利要求1-8任一项所述的方法生成的,所述编码流包括熵编码结果和边信息;
基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;
基于所述第一概率分布参数和所述第二概率分布参数,确定量化后的变换系数的概率分布;
基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
10.根据权利要求9所述的方法,其特征在于,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
11.根据权利要求9所述的方法,其特征在于,所述边信息包括熵编码后的第一参数、熵编码后的第二参数和熵编码后的量化步长,所述基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数,包括:
对所述熵编码后的第一参数进行熵解码处理,得到第一参数;
对所述熵编码后的第二参数进行熵解码处理,得到第二参数;
将所述第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;
将所述第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
12.一种对数据进行编码的装置,其特征在于,所述装置包括:
获取模块,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数,其中,所述第一概率分布参数和所述第二概率分布参数为属于同一概率分布的不同参数;
确定模块,用于根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;
熵编码模块,用于根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;
所述获取模块,用于获取所述量化后的变换系数对应的边信息;
生成模块,用于根据所述熵编码结果和所述边信息,生成向解码端发送的编码流。
13.根据权利要求12所述的装置,其特征在于,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
14.根据权利要求12所述的装置,其特征在于,所述获取模块,用于:
将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理后输出的所述第一概率分布参数和由所述第一处理网络在输出所述第一概率分布参数之前生成的第一参数;
将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的所述第二概率分布参数和由所述第二处理网络在输出所述第二概率分布参数之前生成的第二参数;
根据所述量化后的变换系数对应的量化步长、所述第一参数和所述第二参数,生成边信息。
15.根据权利要求14所述的装置,其特征在于,所述熵模型的第一处理网络包括第一编码器网络、第一量化器和第一解码器网络,所述获取模块,用于:
将量化后的变换系数输入到所述第一编码器网络中,获取由所述第一编码器网络输出的第一超先验参数;
将所述第一超先验参数和对应的量化步长输入到所述第一量化器中,获取量化后由所述量化器输出的所述第一参数;
将所述第一参数输入到所述第一解码器网络中,获取由所述第一解码器网络输出的所述第一概率分布参数。
16.根据权利要求14所述的装置,其特征在于,所述熵模型的第二处理网络包括第二编码器网络、第二量化器和第二解码器网络,所述获取模块,用于:
确定所述第一概率分布参数和所述量化后的变换系数的差值的绝对值;
将所述差值的绝对值输入到所述第二编码器网络中,获取由所述第二编码器网络输出的第二超先验参数;
将所述第二超先验参数和对应的量化步长输入到所述第二量化器中,获取量化后由所述第二解码器网络输出的所述第二参数;
将所述第二参数输入到所述第二解码器网络中,获取由所述第二解码器网络输出的所述第二概率分布参数。
17.根据权利要求14所述的装置,其特征在于,所述生成模块,用于:
对所述第一参数进行熵编码处理,得到熵编码后的第一参数,对所述第二参数进行熵编码处理,得到熵编码后的第二参数;
对所述量化后的变换系数对应的量化步长进行熵编码处理,得到熵编码后的量化步长;
基于所述熵编码后的量化步长、所述熵编码后的第一参数和所述熵编码后的第二参数,确定边信息。
18.根据权利要求15所述的装置,其特征在于,所述第一编码器网络包括一个第一网络结构体,所述第一网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第一解码器网络包括与所述第一网络结构体对称的网络结构体。
19.根据权利要求16所述的装置,其特征在于,所述第二编码器网络包括一个第二网络结构体,所述第二网络结构体包括至少一个LSTM网络单元和/或至少一个卷积层,所述第二解码器网络包括与所述第二网络结构体对称的网络结构体。
20.一种对数据进行解码的装置,其特征在于,所述装置包括:
接收模块,用于接收编码端发送的编码流,其中,所述编码流为所述编码端采用如权利要求1-8任一项所述的方法生成的,所述编码流包括熵编码结果和边信息;
确定模块,用于基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和所述第二概率分布参数,确定量化后的变换系数的概率分布;
熵解码模块,用于基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
21.根据权利要求20所述的装置,其特征在于,所述概率分布为高斯分布,所述第一概率分布参数为对应高斯分布模型的均值,所述第二概率分布参数为对应高斯分布模型的方差;或者,
所述概率分布为拉普拉斯分布,所述第一概率分布参数为对应拉普拉斯分布模型中的位置参数,所述第二概率分布参数为所述拉普拉斯分布模型中的尺度参数。
22.根据权利要求20所述的装置,其特征在于,所述边信息包括熵编码后的第一参数、熵编码后的第二参数和熵编码后的量化步长,所述确定模块,用于:
对所述熵编码后的第一参数进行熵解码处理,得到第一参数;
对所述熵编码后的第二参数进行熵解码处理,得到第二参数;
将所述第一参数输入到第一解码器网络中,获取反映量化后的变化系数的概率分布的第一概率分布参数;
将所述第二参数输入到第二解码器网络中,获取反映量化后的变化系数的概率分布的第二概率分布参数。
23.一种视频编解码***,其特征在于,所述***包括编码端和解码端,其中:
所述编码端,用于将量化后的变换系数和对应的量化步长输入到熵模型的第一处理网络,获取由所述第一处理网络处理输出的反映所述量化后的变化系数的概率分布的第一概率分布参数;将所述第一概率分布参数和所述量化后的变换系数预处理后输入到所述熵模型的第二处理网络,获取由所述第二处理网络处理输出的反映所述量化后的变化系数的概率分布的第二概率分布参数,其中,所述第一概率分布参数和所述第二概率分布参数为属于同一概率分布的不同参数;根据所述第一概率分布参数和所述第二概率分布参数,确定所述量化后的变换系数的概率分布;根据所述概率分布对所述量化后的变换系数进行熵编码处理,得到熵编码结果;获取所述量化后的变换系数对应的边信息;根据所述熵编码结果和所述边信息,生成向所述解码端发送的编码流;
所述解码端,用于接收所述编码端发送的编码流,其中,所述编码流包括熵编码结果和边信息;基于所述边信息,确定反映量化后的变化系数的概率分布的第一概率分布参数和第二概率分布参数;基于所述第一概率分布参数和第二概率分布参数,确定量化后的变换系数的概率分布;基于所述概率分布,对所述熵编码结果进行熵解码处理,得到量化后的变换系数。
24.一种编码端,其特征在于,所述编码端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-8任一所述的方法步骤。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
26.一种解码端,其特征在于,所述解码端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求9-11任一所述的方法步骤。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9-11任一所述的方法步骤。
CN201910157698.0A 2019-03-01 2019-03-01 对数据进行编码、解码的方法、装置与*** Active CN111641826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910157698.0A CN111641826B (zh) 2019-03-01 2019-03-01 对数据进行编码、解码的方法、装置与***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910157698.0A CN111641826B (zh) 2019-03-01 2019-03-01 对数据进行编码、解码的方法、装置与***

Publications (2)

Publication Number Publication Date
CN111641826A CN111641826A (zh) 2020-09-08
CN111641826B true CN111641826B (zh) 2022-05-20

Family

ID=72330486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910157698.0A Active CN111641826B (zh) 2019-03-01 2019-03-01 对数据进行编码、解码的方法、装置与***

Country Status (1)

Country Link
CN (1) CN111641826B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332854A (zh) * 2020-11-27 2021-02-05 平安普惠企业管理有限公司 霍夫曼编码的硬件实现方法、装置及存储介质
CN115604485A (zh) * 2021-07-09 2023-01-13 华为技术有限公司(Cn) 视频图像的解码方法及装置
CN115883831A (zh) * 2021-08-05 2023-03-31 华为技术有限公司 编解码方法和装置
CN115706798A (zh) * 2021-08-17 2023-02-17 华为技术有限公司 熵编解码方法和装置
CN116778002A (zh) * 2022-03-10 2023-09-19 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101223573A (zh) * 2005-07-15 2008-07-16 微软公司 在自适应编码和解码中选择性地使用多个熵模型
US20130223528A1 (en) * 2010-11-15 2013-08-29 Electronics And Telecommunications Research Institute Method and apparatus for parallel entropy encoding/decoding
CN103561269A (zh) * 2013-08-14 2014-02-05 广西大学 基于多概率分布的分布式视频编码相关噪声模型构造方法
CN106254872A (zh) * 2015-06-04 2016-12-21 联发科技股份有限公司 熵转换编码的方法以及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101223573A (zh) * 2005-07-15 2008-07-16 微软公司 在自适应编码和解码中选择性地使用多个熵模型
US20130223528A1 (en) * 2010-11-15 2013-08-29 Electronics And Telecommunications Research Institute Method and apparatus for parallel entropy encoding/decoding
CN103561269A (zh) * 2013-08-14 2014-02-05 广西大学 基于多概率分布的分布式视频编码相关噪声模型构造方法
CN106254872A (zh) * 2015-06-04 2016-12-21 联发科技股份有限公司 熵转换编码的方法以及相关装置

Also Published As

Publication number Publication date
CN111641826A (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
CN111641826B (zh) 对数据进行编码、解码的方法、装置与***
CN111641832B (zh) 编码方法、解码方法、装置、电子设备及存储介质
CN111818346B (zh) 图像编码方法和装置、图像解码方法和装置
CN109451308B (zh) 视频压缩处理方法及装置、电子设备及存储介质
CN111988609A (zh) 图像编码装置、概率模型生成装置和图像解码装置
CN109996073B (zh) 一种图像压缩方法、***、可读存储介质及计算机设备
CN111986278A (zh) 图像编码装置、概率模型生成装置和图像压缩***
CN111246206B (zh) 一种基于自编码器的光流信息压缩方法及装置
CN110753225A (zh) 一种视频压缩方法、装置及终端设备
CN113079378B (zh) 图像处理方法、装置和电子设备
CN113747163B (zh) 基于上下文重组建模的图像编码、解码方法及压缩方法
CN111918071A (zh) 数据压缩的方法、装置、设备及存储介质
CN115426075A (zh) 语义通信的编码传输方法及相关设备
CN115866252B (zh) 一种图像压缩方法、装置、设备及存储介质
CN111050170A (zh) 基于gan的图片压缩***构建方法、压缩***及方法
CN111080729A (zh) 基于Attention机制的训练图片压缩网络的构建方法及***
KR20200044668A (ko) Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
CN114501031B (zh) 一种压缩编码、解压缩方法以及装置
CN115393452A (zh) 一种基于非对称自编码器结构的点云几何压缩方法
CN113554719B (zh) 一种图像编码方法、解码方法、存储介质及终端设备
CN114519750A (zh) 一种人脸图像压缩方法和***
CN111565314A (zh) 图像压缩方法、编解码网络训练方法、装置及电子设备
US20230239470A1 (en) Video encoding and decoding methods, encoder, decoder, and storage medium
CN111565317A (zh) 图像压缩方法、编解码网络训练方法、装置及电子设备
CN117915107B (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
GR01 Patent grant
GR01 Patent grant