CN114071141A - 一种图像处理方法及其设备 - Google Patents

一种图像处理方法及其设备 Download PDF

Info

Publication number
CN114071141A
CN114071141A CN202010784666.6A CN202010784666A CN114071141A CN 114071141 A CN114071141 A CN 114071141A CN 202010784666 A CN202010784666 A CN 202010784666A CN 114071141 A CN114071141 A CN 114071141A
Authority
CN
China
Prior art keywords
data
entropy
prior
compressed data
estimation result
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
CN202010784666.6A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010784666.6A priority Critical patent/CN114071141A/zh
Priority to PCT/CN2021/105097 priority patent/WO2022028197A1/zh
Publication of CN114071141A publication Critical patent/CN114071141A/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/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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

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

Abstract

本申请涉及人工智能和图像压缩技术,本申请实施例公开了一种图像处理方法,用于图像压缩、解压缩。本申请实施例方法包括:将第一JPEG图像数据进行霍夫曼解码,得到量化系数;对量化系数进行熵估计,以得到熵估计结果,所述熵估计结果用于对所述量化系数进行概率估计;对量化系数和熵估计结果进行算术编码得到第一压缩数据,第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。本申请实施例中,将第一JPEG图像数据进行霍夫曼解码得到量化系数之后,进而得到第一压缩数据,在此过程中,不需要将第一JPEG图像数据转换为RGB图像进行熵估计,进而减少了不相关的信息,提升了JPEG图像压缩的性能。

Description

一种图像处理方法及其设备
技术领域
本申请实施例涉及人工智能和图像压缩领域,具体涉及一种图像压缩方法及其设备。
背景技术
随着信息化时代的来临,大量的图像数据也随之而来。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。
图像压缩是指用相对较少的比特数据表示原有的图像。数据压缩的目的就是通过去除数据冗余来减少表示数据所需的比特数。JPEG图像是目前应用范围最广的图像编码格式,传统对JPEG图像的压缩方式中,需要将JPEG图像解码为RGB图像再进行相关的压缩流程。
在将JPEG图像解码为RGB图像的过程中,会使图像又增加了更多的不相关信息,从而影响了JPEG图像压缩的性能。
发明内容
本申请实施例提供了一种图像处理方法及其设备,用于在图像解压缩时,将第一JPEG图像数据进行霍夫曼解码得到量化系数之后,将量化系数进行熵估计得到熵估计结果,并根据该熵估计结果和量化系数进行算术编码,进而得到第一压缩数据,在此过程中,不需要将第一JPEG图像数据转换为RGB图像进行熵估计,进而减少了不相关的信息,提升了JPEG图像压缩的性能。
本申请实施例第一方面提供了一种图像处理方法。
在图像处理过程中,由摄像头或者图像采集设备采集到的图像为原始图像,JPEG图像为该原始图像压缩过后的图像数据。为了对JPEG图像数据进行再压缩,终端设备或者服务器会通过霍夫曼对照表将第一JPEG图像数据进行霍夫曼解码,以得到量化系数。接着,再对该量化系数进行熵估计,以得到熵估计结果,该熵估计结果用于对该量化系数进行概率估计。在得到熵估计结果之后,将量化系数和熵估计结果进行算术编码得到第一压缩数据,该第一压缩数据通常情况下是由比特信息组成的字节流数据,该第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。
本申请实施例中,将第一JPEG图像进行霍夫曼解码之后,得到量化系数,并根据该量化系数进行熵估计得到的熵估计结果和该量化系数得到第一压缩数据,因此该过程为无损压缩过程,不需要将第一JPEG图像进行RGB转换,提升了JPEG图像压缩的性能。
基于本申请实施例第一方面的方法,在一种可能的实现方式中,对量化系数进行熵估计,以得到熵估计结果的一种实现方式中,可以将量化系数输入到熵估计网络中,以得到熵估计结果。该熵估计网络用于对该量化系数进行概率估计,该熵估计网络为一种网络模型,且其中还可以包括更多的网络模型。
本申请实施例中,通过将量化系数输入到熵估计网络中,以得到熵估计结果,提升了对量化系数进行熵估计的可实现性。
基于本申请实施例第一方面的方法,在一种可能的实现方式中,熵估计网络中包括了超先验输入模型、超先验输出模型、概率分布模型、熵参数模型,超先验输入模型、概率分布模型和超先验输出模型构成了一个超先验网络,用于对量化系数进行先验,熵参数模型用于对先验的结果进行转换,以得到概率估计所需要用的均值和方差。具体的,将量化系数输入到超先验输入模型中,以得到第一先验值,该第一先验值为量化系数相关的先验值。将该第一先验值进行量化,得到先验量化系数。
将先验量化系数输入到概率分布模型中,以得到先验估计结果,该先验估计结果是对先验量化系数的概率估计的结果。将先验估计结果和先验量化系数进行编码得到第二压缩数据,第二压缩数据是用于解压第一压缩数据的。
将先验量化系数输入到超先验输出模型中,以得到第一先验数据,第一先验数据用于生成熵估计结果。将该第一先验数据输入到熵参数模型中,以得到熵估计结果,该熵估计结果包括均值和方差,该熵估计结果用于对量化系数进行概率估计。
本申请实施例中,通过超先验网络中各个模型和熵参数模型对量化系数进行计算以得到用于概率估计的熵估计结果,使得在后续的概率估计中,可以更精准的对JPEG图像中每个像素点进行概率估计。
基于本申请实施例第一方面的方法,在一种可能的实现方式中,通过将量化系数输入到熵估计网络中,该熵估计网络中包括了上下文模型和熵参数模型,上下文模型用于优化熵估计结果,使得后续进行概率估计时更加的精准。具体的,将量化系数输入到上下文模型中,以得到上下文数据,该上下文数据用于对熵估计结果进行优化。进而将上下文数据输入到熵参数模型中,以得到熵估计结果。
本申请实施例中,通过上下文模型,并根据上下文模型得到的上下文数据得到熵估计结果,使得在后续的概率估计中,可以更准确的对JPEG图像中的每个像素点进行概率估计。
基于本申请实施例第一方面的方法,在一种可能的实现方式中,熵估计网络中包括了超先验输入模型、超先验输出模型、概率分布模型、熵参数模型、上下文模型时,在得到第一先验数据和上下文数据之后,将第一先验数据和上下文数据输入到熵参数模型中,以得到熵估计结果。
本申请实施例中,通过超先验输入模型、超先验输出模型、概率分布模型得到的第一先验数据和上下文模型得到的上下文数据得到熵估计结果,使得在后续的概率估计中,可以更准确的对JPEG图像中的每个像素点进行概率估计。
基于本申请实施例第一方面的方法,在一种可能的实现方式中,在对量化系数和熵估计结果进行算术编码得到第一压缩数据之后,当需要将该第一压缩数据还原回第一JPEG图像时,可以根据熵估计结果对第一压缩数据进行计算,得到量化系数,对量化系数进行霍夫曼编码,就可以得到第一JPEG图像数据了。
本申请实施例中,通过对第一压缩数据进行解压得到量化系数后,再对量化系数进行霍夫曼编码,就可以将第一压缩数据还原回第一JPEG图像数据了,该过程为无损的还原过程,提升了图像还原的性能。
本申请实施例第二方面提供了一种图像处理方法。
当需要对目标压缩数据进行还原时,获取目标压缩数据,该目标压缩数据为第一JPEG图像数据的压缩数据。在获取到目标压缩数据之后,根据目标压缩数据得到熵估计结果,该熵估计结果用于对目标压缩数据进行概率估计。根据熵估计结果对目标压缩数据进行计算,得到量化系数。进而对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
本申请实施例中,通过对目标压缩数据进行解压得到量化系数后,再对量化系数进行霍夫曼编码,就可以将目标压缩数据还原回第一JPEG图像数据了,该过程为无损的还原过程,提升了图像还原的性能。
基于本申请实施例第二方面的方法,在一种可能的实现方式中,该目标数据包括了第一压缩数据和第二压缩数据,该第一压缩数据为第一JPEG图像数据的压缩数据,第二压缩数据是用于解压第一压缩数据的。将第二压缩数据进行解压,得到中间数据,对该中间数据进行计算得到先验量化系数,先验量化系数为量化系数的先验。将先验量化系数输入到超先验输出模型中,以得到第一先验数据,该第一先验数据用于生成熵估计结果。在得到熵估计结果之后,根据熵估计结果对第一压缩数据进行计算,得到量化系数。
本申请实施例中,通过第二压缩数据得到量化系数,并根据量化系数解压第一压缩数据,提升了方案的可实现性。
基于本申请实施例第二方面的方法,在一种可能的实现方式中,将第一压缩数据进行解压,得到量化系数的维度信息。进而根据维度信息得到模拟量化系数,并将该模拟量化系数输入到上下文模型中得到上下文数据,该上下文数据用于优化熵估计结果。将上下文数据和第一先验数据输入到熵参数模型中以得到熵估计结果。
本申请实施例中,通过上下文数据得到熵估计结果,提升了熵估计结果的准确率。
本申请实施例第三方面提供了一种图像处理装置。
一种图像处理装置,包括:
解码单元,用于将第一JPEG图像数据进行霍夫曼解码,得到量化系数;
处理单元,用于对量化系数进行熵估计,以得到熵估计结果,熵估计结果用于对量化系数进行概率估计;
编码单元,用于对量化系数和熵估计结果进行算术编码得到第一压缩数据,第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。
可选地,图像处理装置还包括:
输入单元,用于将量化系数输入到熵估计网络中,以得到熵估计结果,熵估计网络用于对量化系数进行概率估计。
可选地,熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型,输入单元具体用于将量化系数输入到超先验输入模型,以得到第一先验值,第一先验值为量化系数的先验值;
处理单元还用于将第一先验值量化得到先验量化系数;
输入单元还用于将先验量化系数输入到概率分布模型中,以得到先验估计结果;
编码单元还用于将先验估计结果和先验量化系数进行编码得到第二压缩数据,第二压缩数据用于解压第一压缩数据;
输入单元还用于将先验量化系数输入到超先验输出模型中,以得到第一先验数据,第一先验数据用于生成熵估计结果;
输入单元还用于将第一先验数据输入到熵参数模型中,以得到熵估计结果。
可选地,熵估计网络包括上下文模型、熵参数模型,输入单元还用于将量化系数输入到上下文模型中,以得到上下文数据,上下文数据用于优化熵估计结果;
输入单元还用于将上下文数据输入到熵参数模型中,以得到熵估计结果。
可选地,当熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型、上下文模型时,输入单元还用于将量化系数输入到上下文模型中,以得到上下文数据,上下文数据用于优化熵估计结果,输入单元具体用于将第一先验数据和上下文数据输入到熵参数模型中,以得到熵估计结果。
可选地,处理单元还用于根据熵估计结果对第一压缩数据进行计算,得到量化系数;
编码单元还用于对量化系数进行霍夫曼编码,得到第一JPEG图像数据。本申请实施例第四方面提供了一种网络设备。
一种图像处理装置,包括:
获取单元,用于获取目标压缩数据,目标压缩数据为第一JPEG图像数据的压缩数据;
处理单元,用于根据目标压缩数据得到熵估计结果,熵估计结果用于对目标压缩数据进行概率估计;
处理单元还用于根据熵估计结果对目标压缩数据进行计算,得到量化系数;
编码单元,用于对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
可选地,其特征在于,所述目标压缩数据包括第一压缩数据和第二压缩数据,所述第一压缩数据为所述第一JPEG图像数据的压缩数据,所述第二压缩数据用于解压第一压缩数据,所述处理单元具体用于根据所述第二压缩数据得到先验量化系数,所述先验量化系数为所述量化系数的先验;
所述图像处理装置还包括:
输入单元,用于将所述先验量化系数输入到超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
所述输入单元还用于将所述第一先验数据输入到熵参数模型中以得到熵估计结果;
所述处理单元具体用于根据所述熵估计结果对所述第一压缩数据进行计算,得到量化系数。
可选地,所述处理单元还用于将所述第一压缩数据进行解压,得到量化系数的维度信息;
所述处理单元还用于根据所述维度信息得到模拟量化系数;
所述输入单元还用于将所述模拟量化系数输入到上下文模型中得到上下文数据,所述上下文数据用于优化所述熵估计结果;
所述输入单元具体用于将所述第一先验数据和所述上下文数据输入到熵参数模型中以得到熵估计结果。
本申请第五方面提供了一种计算机存储介质,计算机存储介质中存储有指令,指令在计算机上执行时,使得计算机执行如本申请第一方面,和/或,第二方面实施方式的方法。
本申请第六方面提供了一种计算机程序产品,计算机程序产品在计算机上执行时,使得计算机执行如本申请第一方面,和/或,第二方面实施方式的方法。
本申请第七方面提供了一种通信装置,所述通信装置包括处理器和存储器,存储器中存储有计算机程序,处理器执行存储器中存储的计算机程序,以使所述通信装置执行如本申请第一方面,和/或,第二方面实施方式的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,将第一JPEG图像进行霍夫曼解码之后,得到量化系数,并根据该量化系数进行熵估计得到的熵估计结果和该量化系数得到第一压缩数据,因此该过程为无损压缩过程,不需要将第一JPEG图像进行RGB转换,提升了JPEG图像压缩的性能。
附图说明
图1为本申请实施例提供的一个神经网络框架示意图;
图2为本申请实施例提供的另一神经网络框架示意图;
图3为本申请实施例提供的另一神经网络框架示意图;
图4为本申请实施例提供的另一神经网络框架示意图;
图5为本申请实施例提供的一个芯片结构示意图;
图6为本申请实施例提供的一个系统架构示意图;
图7为本申请实施例提供的一个图像处理方法框架示意图;
图8为本申请实施例提供的另一图像处理方法框架示意图;
图9为本申请实施例提供的一个图像处理方法流程示意图;
图10为本申请实施例提供的另一图像处理方法流程示意图;
图11为本申请实施例提供的另一图像处理方法流程示意图;
图12为本申请实施例提供的另一图像处理方法流程示意图;
图13为本申请实施例提供的另一图像处理方法流程示意图;
图14为本申请实施例提供的另一图像处理方法流程示意图;
图15为本申请实施例提供的一个图像处理装置结构示意图;
图16为本申请实施例提供的另一图像处理装置结构示意图;
图17为本申请实施例提供的另一图像处理装置结构示意图;
图18为本申请实施例提供的另一图像处理装置结构示意图;
图19为本申请实施例提供的另一图像处理装置结构示意图。
具体实施方式
本申请实施例提供了一种图像压缩方法,用于JPEG图像压缩,通过对图像进行霍夫曼解码得到量化系数,并将量化系数进行熵估计得到概率模型,再通过图像进行解码得到的字节数据和概率模型进行再编码,得到占用存储空间比压缩前的JPEG图像小的图像,提升了JPEG图像压缩的性能。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、视频、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理(如图像识别、目标检测等),语音识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
参见附图2,本申请实施例提供了一种系统架构200。该系统架构中包括数据库230、客户设备240。数据采集设备260用于采集数据并存入数据库230,训练模块220基于数据库230中维护的数据生成目标模型/规则201。
深度神经网络中的每一层的工作可以用数学表达式y=a(W*x+b)来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由W*x完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重控制着如何变换空间。训练深度神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵。
因为期望深度神经网络的输出尽可能的接近目标值,所以可以通过比较当前网络的预测值和目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数)。例如,如果网络的预测值过高,则调整权重矩阵中的权重的值从而降低预测值,经过不断的调整,直到神经网络输出的值接近目标值或者等于目标值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,即损失函数(loss function)或目标函数(objectivefunction),损失函数是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,神经网络的训练可以理解为尽可能缩小loss的过程。
计算模块可以包括训练模块220,训练模块220得到的目标模型/规则可以应用不同的系统或设备中。在附图2中,执行设备210配置收发器212,该收发器212可以是无线收发器、光收发器或有线接口(如I/O接口)等,与外部设备进行数据交互,“用户”可以通过客户设备240向收发器212输入数据,例如,本申请以下实施方式,客户设备240可以向执行设备210发送目标任务,请求执行设备构建神经网络,并向执行设备210发送用于训练的数据库。
执行设备210可以调用数据存储系统250中的数据、代码等,也可以将数据、指令等存入数据存储系统250中。
计算模块211使用目标模型/规则201对输入的数据进行处理。
最后,收发器212将构建得到的神经网络返回给客户设备240,以在客户设备240或者其他设备中部署该神经网络。
更深层地,训练模块220可以针对不同的目标任务,基于不同的数据得到相应的目标模型/规则201,以给用户提供更佳的结果。
在附图2中所示情况下,用户可以手动指定输入执行设备210中的数据,例如,在收发器212提供的界面中操作。另一种情况下,客户设备240可以自动地向收发器212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到与目标任务关联的数据存入数据库230。
需要说明的是,附图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在附图2中,数据存储系统250相对执行设备210是外部存储器,在其它场景中,也可以将数据存储系统250置于执行设备210中。
示例性地,下面以卷积神经网络(CNN,Convolutional neuron network)为例。
CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关。需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140。在本申请中,该卷积神经网络为:以延迟预测模型的输出作为约束条件对超级单元进行搜索得到至少一个第一构建单元,并对该至少一个第一构建单元进行堆叠得到。该卷积神经网络可以用于图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
图5,是本发明实施例提供的一种芯片硬件结构图。
神经网络处理器NPU 50NPU作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路50,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
统一存储器506用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器505 Direct Memory Access Controller,DMAC被搬运到权重存储器502中。输入数据也通过DMAC被搬运到统一存储器506中。
BIU为Bus Interface Unit即,总线接口单元510,用于AXI总线与DMAC和取指存储器509 Instruction Fetch Buffer的交互。
总线接口单元510(Bus Interface Unit,简称BIU),用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器506或将权重数据搬运到权重存储器502中或将输入数据数据搬运到输入存储器501中。
向量计算单元507多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如Pooling(池化),Batch Normalization(批归一化),Local ResponseNormalization(局部响应归一化)等。
在一些实现中,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,图3和图4所示的卷积神经网络中各层的运算可以由矩阵计算单元或向量计算单元507执行。
参见附图6,本申请实施例提供了一种系统架构300。执行设备210由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现本申请以下图7对应的图像压缩方法的步骤。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。具体地,该通信网络可以包括无线网络、有线网络或者无线网络与有线网络的组合等。该无线网络包括但不限于:第五代移动通信技术(5th-Generation,5G)系统,长期演进(long termevolution,LTE)系统、全球移动通信系统(global system for mobile communication,GSM)或码分多址(code division multiple access,CDMA)网络、宽带码分多址(widebandcode division multiple access,WCDMA)网络、无线保真(wireless fidelity,WiFi)、蓝牙(bluetooth)、紫蜂协议(Zigbee)、射频识别技术(radio frequency identification,RFID)、远程(Long Range,Lora)无线通信、近距离无线通信(near field communication,NFC)中的任意一种或多种的组合。该有线网络可以包括光纤通信网络或同轴电缆组成的网络等。
在另一种实现中,执行设备210的一个方面或多个方面可以由每个本地设备实现,例如,本地设备301可以为执行设备210提供本地数据或反馈计算结果。
需要注意的,执行设备210的所有功能也可以由本地设备实现。例如,本地设备301实现执行设备210的功能并为自己的用户提供服务,或者为本地设备302的用户提供服务。
下面对本申请的实施例所涉及的名词进行解释。
霍夫曼编码,是指一种在计算机数据处理中用于无损数据压缩的熵编码算法。具体来说,霍夫曼编码使用可变长编码表对信源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现几率的方法得到的,出现几率高的字母使用较短的编码,反之出现几率低的则使用较长的编码,这使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。
例如,当需要编码一个包含1000个字符的文本,文本包含a、b、c、d、e和f等6个字
符,各个字符出现的频率不同,如下表所示:
表格1霍夫曼码表
a b c d e f
频率(百次) 45 13 12 16 9 5
定长码 000 001 010 011 100 101
变长码 0 101 100 111 1101 1100
如果该文本用定长编码,假设每个字符用3比特表示则编码结果共需要3000比特的存储空间,而如果采用采用变长编码,则编码结果需要(45x1+13x3+12x3+16x3+9x4+5x4)x10=2240比特,所需的存储空间大小减少约25%。同时霍夫曼解码器采用相同的码表可以无损的恢复原始码流。在生成JPEG图像数据时的霍夫曼编码的过程中,将霍夫曼表存储在JPEG头域部分中,使得解码时可以通过解析JPEG头域部分即可获得霍夫曼表进行解码。
对信源符号进行霍夫曼编码通常包括以下步骤:第一步,将信源符号的概率按照从大到小的顺序排列;第二步,把两个最小的概率相加,并重复这一步骤,始终将较高的概率分支放在右边,直到最后概率相加的和为1;第三步,将每对组合的左边一个指定为0,右边一个指定为1(或相反);第四步,画出从概率1处到每个信源符号的路径,顺序记下沿路径的0和1,所得就是该符号对应的霍夫曼码字(英文:code word)。
算术编码(英文:arithmetic coding),是指一种在计算机数据处理中用于无损数据压缩的熵编码算法,可以直接把输入的数据编码为大于等于0且小于1的一个小数(英文:decimals)。具体来说,先选定一原始区间,通常该原始区间为[0,1),当进行算术编码时,按照待编码数据各元素出现的概率,将原始区间分成若干段,每个元素对应一定的区间。每对一个元素进行编码后,根据该元素的种类将原来的区间缩小到新的区间。依次根据待编码数据的元素的种类调整区间,直到将待编码数据的所有元素编码完成。此时取当前区间内的任意一个数即可作为编码结果输出。
举例来说,假设待编码数据由A、B和C三个元素组成,且A的概率是30%,B的概率是20%,C的概率是50%,则可以认为A对应0-30%,B对应30%-50%,C对应50%-100%。当对“ABC”进行编码时,首先根据A所对应的范围0-30%,将初始区间[0,1)缩小为[0,0.3);再根据B所对应的范围30%-50%,取当前区间[0,0.3)的30%-50%,为[0.09,0.15);再根据C所对应的范围50%-100%,将当前区间进一步缩小为[0.120,0.150)。那么,对于“ABC”的编码结果是从当前区间中任意选择一个数,例如0.130。在图像处理领域,往往是对二进制数据进行算术编码,因此待编码数据的每一个比特位只有0和1两种情况,其编码的原理与上述对于算术编码的介绍相同。
编码单元,在本申请中,指的是原始图像数据进行离散余弦变换(英文全称:Discrete Cosine Transform,简称:DCT)的单元以及JPEG格式的图像数据进行霍夫曼解码的单元。具体来说,原始图像数据是由每一个像素点所对应的数据组成的,当进行DCT变换时,通常是以8行8列或者16行16列的像素点对应的数据为单位进行DCT变换,该8行8列或者16行16列的像素点称之为编码单元。对于JPEG等格式的图像数据,由于是根据原始图像数据进行DCT编码以及霍夫曼编码得到的,因此在进行霍夫曼解码时,也会以原先进行DCT变换的8行8列或者16行16列的像素点对应的数据为单位进行霍夫曼解码,因此编码单元在本申请中是原始图像数据进行DCT变换的单元以及JPEG格式的图像数据进行霍夫曼解码的单元。
本申请实施例主要应用于图像压缩技术中。图像压缩是指用较少的比特有损或无损地表示原有的图像。图像数据之所以能被压缩,就是因为图像数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。图像数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。
压缩分为两类,有损压缩和无损压缩。有损压缩允许图像在压缩前和解压缩后有一定程度的不同。而对无损压缩而言,图像在压缩前和解压缩后基本完全一样。本申请实施例的方法对应的是无损压缩。
JPEG图像是目前应用范围最广的图像编码格式,但JPEG图像对原始图像的压缩率并不高,因此,本申请实施例提供的方法旨在解决JPEG图像质量在基本没有损失的前提下,提升JPEG图像的压缩比。
本申请实施例应用于JPEG图像压缩的处理过程中,如图7所示,先通过对JPEG图像数据进行无损压缩,得到压缩的JPEG图像数据,当需要还原时,再通过将压缩过的JPEG图像数据进行还原,得到无损的原JPEG图像数据。
更具体的,如图8所示。图像处理装置首先获得JPEG图像数据,再将JPEG图像数据进行霍夫曼解码,再通过量化数据的方式得到量化系数。之后,再将该量化系数输入到熵估计网络中进行概率估计,以得到概率模型。再通过该概率模型和经过算数解码得到的字节数据得到压缩后的JPEG图像。
下面基于前述的应用场景,对本申请提供的图像压缩方法进行说明。
本申请实施例中,图像处理方法分为图像压缩的过程和图像解压的过程,本申请实施例将对图像压缩的过程和图像解压的过程分别进行描述。
一、图像压缩的过程。
请参阅图9,为本申请提供的一种图像处理方法的流程示意图。
步骤901、将第一JPEG图像数据进行霍夫曼解码,以得到量化系数。
图像处理装置在获取到第一JPEG图像数据之后,将第一JPEG图像进行霍夫曼解码,以得到量化系数。
在图像处理过程中,摄像头或者图像采集设备等采集到的图像为原始图像,JPEG图像为该原始图像压缩过后的图像数据。为了对JPEG图像数据进行再压缩,图像处理装置会通过霍夫曼对照表将第一JPEG图像数据进行霍夫曼解码,在一种可能的实现方式中,该霍夫曼对照表在第一JPEG图像数据的头域部分。
图像处理装置获取第一JPEG图像的场景有很多种,例如图像处理装置作为云端服务器,从终端侧获取第一JPEG图像数据。或者,在监控的场景下,图像处理装置在摄像头采集到图像数据之后,从摄像头获取第一JPEG图像数据,或者获取到摄像头采集到的图像数据之后,再将该图像数据转换为第一JPEG图像数据。在实际应用过程中,获取第一JPEG图像数据的场景还可以有更多,具体此处不做限定。
在一种可能的实现方式中,图像处理装置获取到第一JPEG图像数据之后,对该第一JPEG图像数据以块为单位进行后续处理,其中,块的大小和编码单元的大小相同,该块的大小可以是8行8列个像素点,也可以是其他大小,例如4行4列或者16行16列个像素点,具体此处不做限定。
在一种可能的实现方式中,图像处理装置以块为单位进行霍夫曼解码,得到第一JPEG图像数据的每个块对应的离散余弦系数,该离散余弦系数即为量化系数。可选地,在一种可能的实现方式中,该量化系数还包括YUV三个分量。在一种优选的方式中,Y分量的维度是UV分量的两倍,将UV分量进行隔列补零的方式,将UV分量补齐至Y分量的维度。将YUV三个分量进行结合作为量化系数,用于输入到后续的熵估计网络中。可以理解的是,在实际应用过程中,YUV三个分量的维度还可以是其他的对应方式,具体此处不做限定。
步骤902、将量化系数输入到熵估计网络中,以得到熵估计结果。
在图像处理装置对第一JPEG图像数据进行霍夫曼解码得到量化系数之后,图像处理装置将量化系数输入到熵估计网络中,以得到熵估计结果,该熵估计结果用于对量化系数进行概率估计。
在一种可能的实现方式中,该熵估计网络包括超先验模型、熵参数模型,该超先验模型用于对量化系数进行先验,熵参数模型用于对先验的结果进行转换,以得到概率估计所需要用的均值和方差,即熵估计结果。
其中,该超先验模型包括了超先验输入模块、超先验输出模块以及概率分布模块。
图像处理装置得到量化系数之后,图像处理装置将量化系数输入到之前训练好的超先验输入模块中,得到第一先验值,该第一先验值为经过超先验输入模块转换后得到与量化系数相关的先验值,先于量化系数进行编码。
具体的,在一种可能的实现方式中,超先验输入模块由多层卷积网络和激活函数组成的。优选的,该超先验输入模块中第一输入模块为步数为3的卷积层,输出的通道数是192,步长是1,激活函数为Leaky ReLU,第二输入模块为步数为5的卷积层,输出通道数是192,步长为2,激活函数为Leaky ReLU,第三输入模块为步数为5的卷积层,输出通道数是192,步长为2。可以理解的是,该超先验输入模块还可以是其他的组成结构组成,具体此处不做限定。
在获得了第一先验值之后,图像处理装置将该第一先验值进行量化,得到先验量化系数,并将该先验量化系数输入到概率分布模型中,以得到先验估计结果,该先验估计结果用于和先验量化进行算术编码,得到第二压缩数据。其中,优选的,该概率分布模型中第一分布模块为步数为1的卷积层,输出通道数是640,步长为1,激活函数为Leaky ReLU,第二分布模块为步数为1的卷积层,输出通道数是512,步长为1,激活函数为Leaky ReLU,第三分布模块为步数为1的的卷积层,输出通道数是384,步长为1.可以理解的是,该概率分布模型还可以是其他的都组成结构组成,具体此处不做限定。
可选地,在一种可能的实现方式中,先验量化系数包括Y’U’V’三个分量。在一种优选的方式中,Y’分量的维度是U’V’分量的两倍,将U’V’分量进行隔列补零的方式,将U’V’分量补齐至Y’分量的维度。在得到Y’U’V’分量之后,将Y’U’V’三个分量进行结合作为量化系数,用于输入到先验概率分布模型中。可以理解的是,在实际应用过程中,Y’U’V’三个分量的维度还可以是其他的对应方式,具体此处不做限定。
在得到第二压缩数据之后,将该第二压缩数据进行保存,该第二压缩数据是用于解压后续得到的第一压缩数据的。进而再根据第二压缩数据和先验估计结果进行算术解码,得到先验量化系数,并将该先验量化系数输入到超先验输出模块中,以输出第一先验数据,该第一先验数据用于生成熵估计结果的,该第一先验数据可以消除量化系数中的各个像素点位置随机变量的相关性,从而有效地提高了算术编码的性能。
在得到第一先验数据之后,将该第一先验数据输入到熵参数模型中,以得到熵估计结果,该熵估计结果中包括均值和方差。其中,优选的,该熵参数模型中第一参数模块为步数为1的卷积层,输出通道数是640,步长为1,激活函数为Leaky ReLU,第二参数模块为步数为1的卷积层,输出通道数是512,步长为1,激活函数为Leaky ReLU,第三参数模块为步数为1的的卷积层,输出通道数是384,步长为1。可以理解的是,该熵参数模型还可以是其他的都组成结构组成,具体此处不做限定。
在一种可能的实现方式中,该熵估计网络还包括上下文模型,在一种优选的方式中,该上下文模型为基于PixelCNN++的自回归模型。在对第一JPEG图像数据进行压缩时,待编码数据具有上下文相关性,可以利用已编码数据提供的上下文信息,为待编码的数据选择合适的概率模型,这就是上下文建模。通过上下文模型的构建,基本概率模型能够适应随JPEG图像数据而改变的统计特性,降低数据之间的冗余度,并减少运算开支。
图像处理装置将量化系数输入到上下文模型中,以得到上下文数据,该上下文数据用于优化熵估计结果。在一种优选的方式中,该上下文模型包括一个步数是5的卷积层,输出通道数为384,步长为1。
在得到上下文数据之后,将该上下文数据和第一先验信息输入到熵参数模型中,以得到熵估计结果。熵参数模型根据上下文数据和第一先验信息进行计算,得到用于概率估计的均值和方差,即熵估计结果。
需要说明的是,本申请实施例中,当熵估计网络包括上下文模型,但不包括超先验网络中的各个模型时,可以只通过上下文模型得到的上下文数据输入到熵参数模型中得到熵估计结果,具体此处不做限定。当熵估计网络中只包含了上下文模型和熵参数模型时,简化了熵估计网络的架构,提升了整体解压缩流程的效率。
在使用熵估计网络模型之前,图像处理装置需要对熵估计网络模型进行训练。具体的,在一种可能的实现方式中,训练数据集是多张JPEG图像,例如120万张JPEG图像。将训练数据集中的每张JPEG图像通过霍夫曼解码得到量化系数的YUV三个分量。在采样格式为420的JPEG图像中,Y分量的维度是UV分量的两倍,将UV进行隔行隔列补零至Y的维度,然后将YUV三个分量进行结合作为熵估计网络的输入。在熵估计网络中,超先验输入模型是由多层卷积网络和激活函数组成的,将量化系数输入超先验输入模型得到与量化系数相关的先验量化系数,作为超先验,先于量化系数进行编码。超先验输出模型是由多层反卷积网络和激活函数组成的。熵估计网络中还包含上下文模型,上下文模型是mask卷积层来进一步建模先验分布。上下文模型和超先验输出模型的输出数据再通过熵参数模型进行合并,得到概率估计模型。其中,当比特率损失函数趋于收敛时,说明训练结束。
步骤903、对量化系数和熵估计结果进行算术编码,得到第一压缩数据。
当得到熵估计结果之后,对量化系数和熵估计结果进行算术编码,得到第一压缩数据。
具体的,在一种可能的实现方式中,将第一JPEG图像数据以块为单位进行划分后,根据不同块的数据得到多个量化系数和多个熵估计结果,对不同块的量化系数和熵估计结果进行计算,得到一个比特信息组成的字节流数据,且该第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。
本申请实施例中,步骤902可以是图像处理装置执行,也可以通过其他图像处理装置执行,具体此处不做限定。当通过其他图像处理装置执行时,图像处理装置将量化系数发送到其他图像处理装置上,其他图像处理装置再根据量化系数和熵估计网络进行计算,得到对应的熵估计结果之后,再将该熵估计结果发送给图像处理装置。
可以理解的是,本申请实施例中,熵估计网络中包含的模型仅仅是示例,并不构成对本申请实施例的限定,例如,在实际应用过程中,还可以包括更多的模型,用于对熵估计结果进行优化。
本申请实施例中,图像处理装置将第一JPEG图像进行霍夫曼解码之后,得到量化系数,并根据该量化系数进行熵估计得到的熵估计结果和该量化系数得到第一压缩数据,因此该过程为无损压缩过程,不需要将第一JPEG图像进行RGB转换,提升了JPEG图像压缩的性能。
以上描述了本申请实施例中的图像压缩方法,下面对本申请实施例中的图像解压缩方法进行描述。
二、图像解压缩方法。
本申请实施例中,在对第一JPEG图像数据进行压缩时,当熵估计网络中包含了超先验网络的各个模型的解压缩的方法,和只包含了上下文模型时解压缩的方法不同,因此分别进行描述。
1、当熵估计网络中包含了超先验网络的各个模型时。
请参阅图10,为本申请实施例提供的一个图像处理方法另一流程示意图。
在步骤1001中,获取目标压缩数据。
图像处理装置获取目标压缩数据,该目标压缩数据包括第一压缩数据和第二压缩数据,需要对该第一压缩数据进行解压缩,以得到第一JPEG图像数据,该第一压缩数据为第一JPEG图像的压缩数据。该第二压缩数据为根据超先验网络中得到的压缩数据,用于对第一压缩数据进行解压。
在步骤1002中,图像处理装置根据目标压缩数据得到熵估计结果。
图像处理装置在获取到目标压缩数据之后,根据目标压缩数据进行解压和计算,得到熵估计结果。
即获取到第一压缩数据和第二压缩数据之后,图像处理装置对第二压缩数据进行解压和计算,得到熵估计结果。
具体的,在一种可能的实现方式中,如图12所示,当熵估计网络模型中包含了超先验网络、上下文模型和熵参数模型时,图像处理装置将该第二压缩数据进行解压,得到一个中间数据,根据计算函数对该中间数据进行计算,得到先验量化系数。进而再将该先验量化系数输入到超先验输出模型中,得到第一先验数据。图像处理装置再将第一压缩数据进行解压,得到各个量化系数的维度信息,该量化信息的维度信息表示该量化系数的矩阵维度。在解压得到第一个量化系数的维度信息之后,根据量化系数的维度信息设置该量化系数为一个全零矩阵,即得到模拟量化系数,将该模拟量化系数输入到上下文模型中,得到一个上下文数据。进而,将上下文数据和第一先验数据输入到熵参数模型中,以得到熵估计结果,该熵估计结果用于对第一压缩数据进行解压。可以理解的是,设置该量化系数的矩阵维度的值还可以是其他的值,具体此处不做限定。
具体的,在一种可能的实现方式中,如图13所示,当熵估计网络模型中包含了超先验网络、熵参数模型时,图像处理装置将该第二压缩数据进行解压,得到一个中间数据,根据计算函数对该中间数据进行计算,得到先验量化系数。进而再将该先验量化系数输入到超先验输出模型中,得到第一先验数据。进而,将第一先验数据输入到熵参数模型中,以得到熵估计结果,该熵估计结果用于对第一压缩数据进行解压。
在步骤1003中,图像处理装置根据熵估计结果对目标压缩数据进行计算,得到量化系数。
图像处理装置在得到了熵估计结果之后,根据该熵估计结果对目标压缩数据进行计算,以得到量化系数。
具体的,在一种可能的实现方式中,对目标压缩数据进行计算之后,会得到多个熵估计结果,该多个熵估计结果对应着不同像素点的数据。根据不同的熵估计结果对应的第一压缩数据中的像素点的数据和对应的熵估计结果进行算术解码,得到第一压缩数据中的不同的像素点的数据对应的量化系数。
在步骤1004中,对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
在获得了量化系数之后,对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
具体的,当根据第一压缩数据对应的解码出各个像素点的量化系数之后,根据该多个量化系数进行霍夫曼编码,得到第一JPEG图像数据。
本申请实施例中,通过对目标压缩数据进行解压得到量化系数后,再对量化系数进行霍夫曼编码,就可以将第一压缩数据还原回第一JPEG图像数据了,该过程为无损的还原过程,提升了图像还原的性能。
2、当熵估计网络中只包含上下文模型和熵参数模型时。
请参阅图11,为本申请实施例提供的一个图像处理方法另一流程示意图。
在步骤1101中,图像处理装置获取第一压缩数据。
图像处理装置获取第一压缩数据,该第一压缩数据即为目标压缩数据。需要对该第一压缩数据进行解压缩,以得到第一JPEG图像数据,该第一压缩数据为第一JPEG图像的压缩数据。
在步骤1102中,图像处理装置根据第一压缩数据得到熵估计结果。
图像处理装置在获取到第一压缩数据之后,根据第一压缩数据进行解压和计算,得到熵估计结果。
具体的,在一种可能的实现方式中,如图14所示,当熵估计网络模型中包含了上下文模型和熵参数模型时,图像处理装置再将第一压缩数据进行解压,得到各个量化系数的维度信息,该量化信息的维度信息表示该量化系数的矩阵维度。在解压得到第一个量化系数的维度信息之后,设置该量化系数的矩阵维度的值为0,将该设置过的量化系数输入到上下文模型中,得到一个上下文数据。进而,将上下文数据输入到熵参数模型中,以得到熵估计结果,该熵估计结果用于对第一压缩数据进行解压。可以理解的是,设置该量化系数的矩阵维度的值还是是其他的值,具体此处不做限定。
在步骤1103中,图像处理装置根据熵估计结果对第一压缩数据进行计算,得到量化系数。
图像处理装置在得到了熵估计结果之后,根据该熵估计结果对第一压缩数据进行计算,以得到量化系数。
具体的,在一种可能的实现方式中,对第一压缩数据进行计算之后,会得到多个熵估计结果,该多个熵估计结果对应着不同像素点的数据。根据不同的熵估计结果对应的第一压缩数据中的像素点的数据和对应的熵估计结果进行算术解码,得到第一压缩数据中的不同的像素点的数据对应的量化系数。
在步骤1104中,图像处理装置对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
在获得了量化系数之后,对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
具体的,当根据第一压缩数据对应的解码出各个像素点的量化系数之后,根据该多个量化系数进行霍夫曼编码,得到第一JPEG图像数据。
在实际应用过程中,对第一JPEG图像压缩的方法可以是单独运行在图像处理装置中的,即一个图像处理装置可以只使用第一JPEG图像压缩的方法,可以理解的是,该第一JPEG图像解压缩的方法可以和第一JPEG图像压缩的方法在同一个图像处理装置上使用,也可以在不同的图像处理装置上使用,例如在一种使用场景中,终端设备将通过上述图像压缩方法将第一JPEG图像数据进行压缩,并将该第一压缩数据上传到服务器中,服务器保存该第一压缩数据,当服务器需要调用该第一JPEG图像时,则使用本申请实施例提供的图像解压缩方法解压第一压缩数据得到第一JPEG图像。
上面对本申请实施例中的图像处理方法进行了描述,下面对本申请实施例中的图像处理装置进行描述,请参阅图15,为本申请提供的图像处理装置的一个结构示意图。
一种图像处理装置,包括:
解码单元1501,用于将第一JPEG图像数据进行霍夫曼解码,得到量化系数;
处理单元1502,用于对量化系数进行熵估计,以得到熵估计结果,熵估计结果用于对量化系数进行概率估计;
编码单元1503,用于对量化系数和熵估计结果进行算术编码得到第一压缩数据,第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。
本实施例中,图像处理装置各单元所执行的操作与前述图9所示实施例中图像处理装置所执行的步骤类似,具体此处不再赘述。
请参阅图16,为本申请提供的图像处理装置的另一结构示意图。
一种图像处理装置,包括:
解码单元1601,用于将第一JPEG图像数据进行霍夫曼解码,得到量化系数;
处理单元1602,用于对量化系数进行熵估计,以得到熵估计结果,熵估计结果用于对量化系数进行概率估计;
编码单元1603,用于对量化系数和熵估计结果进行算术编码得到第一压缩数据,第一压缩数据占用的存储空间小于第一JPEG图像数据占用的存储空间。
可选地,图像处理装置还包括:
输入单元1604,用于将量化系数输入到熵估计网络中,以得到熵估计结果,熵估计网络用于对量化系数进行概率估计。
可选地,熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型,输入单元具体用于将量化系数输入到超先验输入模型,以得到第一先验值,第一先验值为量化系数的先验值;
处理单元1602还用于将第一先验值量化得到先验量化系数;
输入单元1604还用于将先验量化系数输入到概率分布模型中,以得到先验估计结果;
编码单元1603还用于将先验估计结果和先验量化系数进行编码得到第二压缩数据,第二压缩数据用于解压第一压缩数据;
输入单元1604还用于将先验量化系数输入到超先验输出模型中,以得到第一先验数据,第一先验数据用于生成熵估计结果;
输入单元1604还用于将第一先验数据输入到熵参数模型中,以得到熵估计结果。
可选地,熵估计网络包括上下文模型、熵参数模型,输入单元还用于将量化系数输入到上下文模型中,以得到上下文数据,上下文数据用于优化熵估计结果;
输入单元1604还用于将上下文数据输入到熵参数模型中,以得到熵估计结果。
可选地,当熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型、上下文模型时,所述输入单元1604还用于将所述量化系数输入到所述上下文模型中,以得到上下文数据,所述上下文数据用于优化所述熵估计结果;
输入单元1604具体用于将第一先验数据和上下文数据输入到熵参数模型中,以得到熵估计结果。
可选地,处理单元1602还用于根据熵估计结果对第一压缩数据进行计算,得到量化系数;
编码单元1603还用于对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
本实施例中,图像处理装置各单元所执行的操作与前述图9或者图10所示实施例中图像处理装置所执行的步骤类似,具体此处不再赘述。
请参阅图17,为本申请提供的图像处理装置的另一结构示意图。
一种图像处理装置,包括:
获取单元1701,用于获取目标压缩数据,目标压缩数据为第一JPEG图像数据的压缩数据;
处理单元1702,用于根据目标压缩数据得到熵估计结果,熵估计结果用于对目标压缩数据进行概率估计;
处理单元1702还用于根据熵估计结果对目标压缩数据进行计算,得到量化系数;
编码单元1703,用于对量化系数进行霍夫曼编码,得到第一JPEG图像数据。
本实施例中,图像处理装置各单元所执行的操作与前述图10所示实施例中图像处理装置所执行的步骤类似,具体此处不再赘述。
请参阅图18,为本申请提供的图像处理装置的另一结构示意图。
一种图像处理装置,包括:
获取单元1801,用于获取目标压缩数据,所述目标压缩数据为第一JPEG图像数据的压缩数据;
处理单元1802,用于根据所述目标压缩数据得到熵估计结果,所述熵估计结果用于对所述第一压缩数据进行概率估计;
所述处理单元1802还用于根据所述熵估计结果对所述目标压缩数据进行计算,得到量化系数;
编码单元1803,用于对所述量化系数进行霍夫曼编码,得到所述第一JPEG图像数据。
可选地,所述目标压缩数据包括第一压缩数据和第二压缩数据,所述第一压缩数据为所述第一JPEG图像数据的压缩数据,所述第二压缩数据用于解压第一压缩数据,所述处理单元1802具体用于根据所述第二压缩数据得到先验量化系数,所述先验量化系数为所述量化系数的先验;
所述图像处理装置还包括:
输入单元1804,用于将所述先验量化系数输入到超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
所述输入单元1804还用于将所述第一先验数据输入到熵参数模型中以得到熵估计结果;
所述处理单元1802具体用于根据所述熵估计结果对所述第一压缩数据进行计算,得到量化系数。
可选地,所述处理单元1802还用于将所述第一压缩数据进行解压,得到量化系数的维度信息;
所述处理单元1802还用于根据所述维度信息得到模拟量化系数;
所述输入单元1804还用于将所述模拟量化系数输入到上下文模型中得到上下文数据,所述上下文数据用于优化所述熵估计结果;
所述输入单元1804具体用于将所述第一先验数据和所述上下文数据输入到熵参数模型中以得到熵估计结果。
请参阅图19,为本申请实施例提供的图像处理装置另一结构示意图。
处理器1901、存储器1902、总线1905、接口1904,处理器1901与存储器1902、接口1904相连,总线1905分别连接处理器1901、存储器1902以及接口1904,接口1904用于接收或者发送数据,处理器1901是单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。存储器1902可以为随机存取存储器(randomaccess memory,RAM),也可以为非易失性存储器(non-volatile memory),例如至少一个硬盘存储器。存储器1902用于存储计算机执行指令。具体的,计算机执行指令中可以包括程序1903。
本实施例中,该处理器1901调用程序1903时,可以使图19中的网络设备执行前述图9、或图10、或图11所示实施例中图像处理装置所执行的操作,具体此处不再赘述。
应理解,本申请以上实施例中的图像处理装置中提及的处理器,或者本申请上述实施例提供的处理器,可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的图像处理装置中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还需要说明的是,当图像处理装置包括处理器(或处理单元)与存储器时,本申请中的处理器可以是与存储器集成在一起的,也可以是处理器与存储器通过接口连接,可以根据实际应用场景调整,并不作限定。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持图像处理装置实现上述方法中所涉及的控制器的功能,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
在另一种可能的设计中,当该芯片系统为用户设备或接入网等内的芯片时,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使该图像处理装置等内的芯片执行上述图9-11中任一项实施例中图像处理装置执行的步骤。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述图像处理装置等内的位于所述芯片外部的存储单元,如只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中与图像处理装置的控制器执行的方法流程。对应的,该计算机可以为上述图像处理装置。
应理解,本申请以上实施例中的提及的控制器或处理器,可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等中的一种或多种的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的图像处理装置或芯片系统等中的处理器或控制器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还应理解,本申请实施例中以上实施例中的图像处理装置等中提及的存储器或可读存储介质等,可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域普通技术人员可以理解实现上述实施例的全部或部分由图像处理装置或者处理器执行的步骤可以通过硬件或程序来指令相关的硬件完成。程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,随机接入存储器等。具体地,例如:上述处理单元或处理器可以是中央处理器,通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。上述的这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
当使用软件实现时,上述实施例描述的方法步骤可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (19)

1.一种图像处理方法,其特征在于,包括:
将第一JPEG图像数据进行霍夫曼解码,得到量化系数;
对所述量化系数进行熵估计,以得到熵估计结果,所述熵估计结果用于对所述量化系数进行概率估计;
对所述量化系数和所述熵估计结果进行算术编码得到第一压缩数据,所述第一压缩数据占用的存储空间小于所述第一JPEG图像数据占用的存储空间。
2.根据权利要求1所述的方法,其特征在于,对所述量化系数进行熵估计,以得到熵估计结果包括:
将所述量化系数输入到熵估计网络中,以得到所述熵估计结果,所述熵估计网络用于对所述量化系数进行概率估计。
3.根据权利要求2所述的方法,其特征在于,所述熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型,将所述量化系数输入到熵估计网络中,以得到所述熵估计结果包括:
将所述量化系数输入到超先验输入模型,以得到第一先验值,所述第一先验值为所述量化系数的先验值;
将所述第一先验值量化得到先验量化系数;
将所述先验量化系数输入到所述概率分布模型中,以得到先验估计结果;
将所述先验估计结果和所述先验量化系数进行编码得到第二压缩数据,所述第二压缩数据用于解压所述第一压缩数据;
将所述先验量化系数输入到所述超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
将所述第一先验数据输入到所述熵参数模型中,以得到所述熵估计结果。
4.根据权利要求2所述的方法,其特征在于,所述熵估计网络包括上下文模型、熵参数模型,所述方法还包括:
将所述量化系数输入到所述上下文模型中,以得到上下文数据,所述上下文数据用于优化所述熵估计结果;
将所述上下文数据输入到所述熵参数模型中,以得到所述熵估计结果。
5.根据权利要求3所述的方法,其特征在于,所述熵估计网络还包括上下文模型,所述方法还包括:
将所述量化系数输入到所述上下文模型中,以得到上下文数据,所述上下文数据用于优化所述熵估计结果;
将所述上下文模型输入到所述熵参数模型中,以得到所述熵估计结果包括:
将所述第一先验数据和所述上下文数据输入到所述熵参数模型中,以得到所述熵估计结果。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述对所述量化系数和所述熵估计结果进行算术编码得到第一压缩数据之后,所述方法还包括:
根据所述熵估计结果对所述第一压缩数据进行计算,得到所述量化系数;
对所述量化系数进行霍夫曼编码,得到所述第一JPEG图像数据。
7.一种图像处理方法,其特征在于,包括:
获取目标压缩数据,所述目标压缩数据包括第一JPEG图像数据的压缩数据;
根据所述目标压缩数据得到熵估计结果,所述熵估计结果用于对所述目标压缩数据进行概率估计;
根据所述熵估计结果对所述目标压缩数据进行计算,得到量化系数;
对所述量化系数进行霍夫曼编码,得到所述第一JPEG图像数据。
8.根据权利要求7所述的方法,其特征在于,所述目标压缩数据包括第一压缩数据和第二压缩数据,所述第一压缩数据包括所述第一JPEG图像数据的压缩数据,所述第二压缩数据用于解压第一压缩数据,根据所述目标压缩数据得到熵估计结果包括:
根据所述第二压缩数据得到先验量化系数,所述先验量化系数为所述量化系数的先验;
将所述先验量化系数输入到超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
将所述第一先验数据输入到熵参数模型中以得到熵估计结果;
根据所述熵估计结果对所述目标压缩数据进行计算,得到量化系数包括:
根据所述熵估计结果对所述第一压缩数据进行计算,得到量化系数。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
将所述第一压缩数据进行解压,得到量化系数的维度信息;
根据所述维度信息得到模拟量化系数;
将所述模拟量化系数输入到上下文模型中得到上下文数据,所述上下文数据用于优化所述熵估计结果;
将所述第一先验数据输入到熵参数模型中以得到熵估计结果包括:
将所述第一先验数据和所述上下文数据输入到熵参数模型中以得到熵估计结果。
10.一种图像处理装置,其特征在于,包括:
解码单元,用于将第一JPEG图像数据进行霍夫曼解码,得到量化系数;
处理单元,用于对所述量化系数进行熵估计,以得到熵估计结果,所述熵估计结果用于对所述量化系数进行概率估计;
编码单元,用于对所述量化系数和所述熵估计结果进行算术编码得到第一压缩数据,所述第一压缩数据占用的存储空间小于所述第一JPEG图像数据占用的存储空间。
11.根据权利要求10所述的图像处理装置,其特征在于,所述图像处理装置还包括:
输入单元,用于将所述量化系数输入到熵估计网络中,以得到所述熵估计结果,所述熵估计网络用于对所述量化系数进行概率估计。
12.根据权利要求11所述的图像处理装置,其特征在于,所述熵估计网络包括超先验输入模型、超先验输出模型、概率分布模型、熵参数模型,所述输入单元具体用于将所述量化系数输入到超先验输入模型,以得到第一先验值,所述第一先验值为所述量化系数的先验值;
所述处理单元还用于将所述第一先验值量化得到先验量化系数;
所述输入单元还用于将所述先验量化系数输入到所述概率分布模型中,以得到先验估计结果;
所述编码单元还用于将所述先验估计结果和所述先验量化系数进行编码得到第二压缩数据,所述第二压缩数据用于解压所述第一压缩数据;
所述输入单元还用于将所述先验量化系数输入到所述超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
所述输入单元还用于将所述第一先验数据输入到所述熵参数模型中,以得到所述熵估计结果。
13.根据权利要求11所述的图像处理装置,其特征在于,所述熵估计网络包括上下文模型、熵参数模型,所述输入单元还用于将所述量化系数输入到所述上下文模型中,以得到上下文数据,所述上下文数据用于优化所述熵估计结果;
所述输入单元还用于将所述上下文数据输入到所述熵参数模型中,以得到所述熵估计结果。
14.根据权利要求12所述的图像处理装置,其特征在于,所述熵估计网络还包括上下文模型,所述输入单元还用于将所述量化系数输入到所述上下文模型中,以得到上下文数据,所述上下文数据用于优化所述熵估计结果;
所述输入单元具体用于将所述第一先验数据和所述上下文数据输入到所述熵参数模型中,以得到所述熵估计结果。
15.根据权利要求10至14中任一项所述的图像处理装置,其特征在于,所述处理单元还用于根据所述熵估计结果对所述第一压缩数据进行计算,得到所述量化系数;
所述编码单元还用于对所述量化系数进行霍夫曼编码,得到所述第一JPEG图像数据。
16.一种图像处理装置,其特征在于,包括:
获取单元,用于获取目标压缩数据,所述目标压缩数据为第一JPEG图像数据的压缩数据;
处理单元,用于根据所述目标压缩数据得到熵估计结果,所述熵估计结果用于对所述第一压缩数据进行概率估计;
所述处理单元还用于根据所述熵估计结果对所述目标压缩数据进行计算,得到量化系数;
编码单元,用于对所述量化系数进行霍夫曼编码,得到所述第一JPEG图像数据。
17.根据权利要求16所述的图像处理装置,其特征在于,所述目标压缩数据包括第一压缩数据和第二压缩数据,所述第一压缩数据包括所述第一JPEG图像数据的压缩数据,所述第二压缩数据用于解压第一压缩数据,所述处理单元具体用于根据所述第二压缩数据得到先验量化系数,所述先验量化系数为所述量化系数的先验;
所述图像处理装置还包括:
输入单元,用于将所述先验量化系数输入到超先验输出模型中,以得到第一先验数据,所述第一先验数据用于生成所述熵估计结果;
所述输入单元还用于将所述第一先验数据输入到熵参数模型中以得到熵估计结果;
所述处理单元具体用于根据所述熵估计结果对所述第一压缩数据进行计算,得到量化系数。
18.根据权利要求17所述的图像处理装置,其特征在于,所述处理单元还用于将所述第一压缩数据进行解压,得到量化系数的维度信息;
所述处理单元还用于根据所述维度信息得到模拟量化系数;
所述输入单元还用于将所述模拟量化系数输入到上下文模型中得到上下文数据,所述上下文数据用于优化所述熵估计结果;
所述输入单元具体用于将所述第一先验数据和所述上下文数据输入到熵参数模型中以得到熵估计结果。
19.一种可读存储介质,用于存储有指令,当所述指令被执行时,使如权利要求1-9中任一项所述的方法被实现。
CN202010784666.6A 2020-08-06 2020-08-06 一种图像处理方法及其设备 Pending CN114071141A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010784666.6A CN114071141A (zh) 2020-08-06 2020-08-06 一种图像处理方法及其设备
PCT/CN2021/105097 WO2022028197A1 (zh) 2020-08-06 2021-07-08 一种图像处理方法及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010784666.6A CN114071141A (zh) 2020-08-06 2020-08-06 一种图像处理方法及其设备

Publications (1)

Publication Number Publication Date
CN114071141A true CN114071141A (zh) 2022-02-18

Family

ID=80116900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010784666.6A Pending CN114071141A (zh) 2020-08-06 2020-08-06 一种图像处理方法及其设备

Country Status (2)

Country Link
CN (1) CN114071141A (zh)
WO (1) WO2022028197A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114554226A (zh) * 2022-02-25 2022-05-27 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN114820610A (zh) * 2022-06-29 2022-07-29 数聚(山东)医疗科技有限公司 基于图像处理的新材料医疗器械缺陷检测方法
WO2023169303A1 (zh) * 2022-03-10 2023-09-14 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692375A (zh) * 2002-10-04 2005-11-02 国际商业机器公司 在对jpeg图像进行代码转换时增强压缩
CN110602494A (zh) * 2019-08-01 2019-12-20 杭州皮克皮克科技有限公司 基于深度学习的图像编码、解码系统及编码、解码方法
CN110769263A (zh) * 2019-11-01 2020-02-07 合肥图鸭信息科技有限公司 一种图像压缩方法、装置及终端设备
US20200107023A1 (en) * 2018-09-27 2020-04-02 Electronics And Telecommunications Research Institute Method and apparatus for image processing using context-adaptive entropy model

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8754792B2 (en) * 2012-07-14 2014-06-17 Sigma Designs, Inc. System and method for fixed rate entropy coded scalar quantization
CN104902285B (zh) * 2015-05-21 2018-04-20 北京大学 一种图像编码方法
CN105376578A (zh) * 2015-10-28 2016-03-02 北京锐安科技有限公司 图像压缩方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692375A (zh) * 2002-10-04 2005-11-02 国际商业机器公司 在对jpeg图像进行代码转换时增强压缩
US20200107023A1 (en) * 2018-09-27 2020-04-02 Electronics And Telecommunications Research Institute Method and apparatus for image processing using context-adaptive entropy model
CN110602494A (zh) * 2019-08-01 2019-12-20 杭州皮克皮克科技有限公司 基于深度学习的图像编码、解码系统及编码、解码方法
CN110769263A (zh) * 2019-11-01 2020-02-07 合肥图鸭信息科技有限公司 一种图像压缩方法、装置及终端设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114554226A (zh) * 2022-02-25 2022-05-27 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
WO2023169303A1 (zh) * 2022-03-10 2023-09-14 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序产品
CN114820610A (zh) * 2022-06-29 2022-07-29 数聚(山东)医疗科技有限公司 基于图像处理的新材料医疗器械缺陷检测方法
CN114820610B (zh) * 2022-06-29 2022-09-06 数聚(山东)医疗科技有限公司 基于图像处理的新材料医疗器械缺陷检测方法

Also Published As

Publication number Publication date
WO2022028197A1 (zh) 2022-02-10

Similar Documents

Publication Publication Date Title
US20210125070A1 (en) Generating a compressed representation of a neural network with proficient inference speed and power consumption
US10834415B2 (en) Devices for compression/decompression, system, chip, and electronic device
CN111641832B (zh) 编码方法、解码方法、装置、电子设备及存储介质
WO2022028197A1 (zh) 一种图像处理方法及其设备
CN113259665B (zh) 一种图像处理方法以及相关设备
US11983906B2 (en) Systems and methods for image compression at multiple, different bitrates
CN114067007A (zh) 图像处理方法与装置、神经网络训练的方法与装置
CN116342884B (zh) 图像分割及模型训练的方法、服务器
US20230401756A1 (en) Data Encoding Method and Related Device
CN114698395A (zh) 神经网络模型的量化方法和装置、数据处理的方法和装置
CN113762408A (zh) 一种翻译模型、一种数据处理方法
Chakraborty et al. MAGIC: Machine-learning-guided image compression for vision applications in Internet of Things
CN115022637A (zh) 一种图像编码方法、图像解压方法以及装置
WO2022246986A1 (zh) 数据处理方法、装置、设备及计算机可读存储介质
WO2023174256A1 (zh) 一种数据压缩方法以及相关设备
KR20210053791A (ko) 뉴럴 네트워크의 데이터를 처리하는 방법 및 장치
TWI826160B (zh) 圖像編解碼方法和裝置
CN112532251A (zh) 一种数据处理的方法及设备
CN114501031B (zh) 一种压缩编码、解压缩方法以及装置
CN113554719B (zh) 一种图像编码方法、解码方法、存储介质及终端设备
CN115361559A (zh) 图像编码方法、图像解码方法、装置以及存储介质
CN115913245A (zh) 数据编码方法、数据解码方法以及数据处理装置
CN115409697A (zh) 一种图像处理方法及相关装置
CN114066914A (zh) 一种图像处理方法以及相关设备
CN115699757A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220218