发明内容
本公开实施例提供一种图像处理方法、装置及***,能够建立紧凑高效的训练基字典,有效地提高压缩率和重构质量。所述技术方案如下:
根据本公开实施例的第一方面,提供一种图像处理方法,该方法包括:
获取训练样本图像;
对训练样本图像进行分块,得到至少一个训练样本图像块;
对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块;
对所有第一灰度图像块进行字典学习,得到训练基字典。
通过对训练样本图像的灰度量化,降低了训练样本图像的差异性,通过自适应字典学习能够建立紧凑高效的训练基字典,从而有效提高压缩率和重构质量。
在一个实施例中,对训练样本图像进行分块,得到至少一个训练样本图像块包括:对训练样本图像按照预设间隔进行重叠采集,得到至少一个X*Y大小的训练样本图像块。
采用重叠采集的方式能够保证采集训练样本图像块的数量。
在一个实施例中,对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块包括:
计算每个训练样本图像块的灰度直方图;
从灰度直方图中选取出现次数最多的N个灰度值作为基本灰度;
将每个训练样本图像块中基本灰度与预设步长范围内的灰度值量化为对应的基本灰度;
将每个训练样本图像块中除基本灰度外的剩余灰度值量化为残余灰度,得到每个训练样本图像块的第一灰度图像块。
将训练样本图像量化为基本灰度和残余灰度,实现对训练样本图像的自适应灰度量化,降低了训练样本图像的差异性。
在一个实施例中,对所有第一灰度图像块进行字典学习,得到训练基字典包括:利用第一公式对所有第一灰度图像块进行字典学习,得到训练基字典;第一公式包括:
其中,{Mk}表示第k个第一灰度图像块,D表示训练基字典,bk表示第k个第一灰度图像块对应的稀疏编码系数,L表示约束值。
对经过量化的基本灰度图像块进行自适应稀疏编码,能够建立一个紧凑高效的训练基字典,从而有效提高压缩率和重构质量。
根据本公开实施例的第二方面,提供一种图像处理方法,包括:
获取待压缩图像;
对待压缩图像进行分块,得到至少一个待压缩图像块;
对每个待压缩图像块进行灰度量化,得到每个待压缩图像块的灰度量化信息和第二灰度图像块;
根据第一方面及第一方面中任一实施例得到的训练基字典对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;
获取每个第二灰度图像块和对应的第一重构灰度图像块的灰度残差信息,第一重构灰度图像块根据训练基字典和重构参数得到;
将每个待压缩图像块的灰度量化信息、重构参数以及灰度残差信息进行压缩编码
由于对训练样本图像进行灰度量化,降低了训练样本图像的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的压缩,能够有效提高压缩率和重构质量。
在一个实施例中,根据训练基字典对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数包括:
根据训练基字典和第二公式对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;第二公式包括:
其中,Ik表示第k个第二灰度图像块,D表示训练基字典,λ表示平衡系数,δ表示重构参数。
在一个实施例中,第一重构灰度图像块根据训练基字典和对应的每个第二灰度量化图像块的重构参数得到包括:
根据训练基字典和对应的每个第二灰度量化图像块的重构参数、以及第三公式得到;第三公式包括:
其中,
表示第k个第一重构灰度图像块,R表示重构,D表示训练基字典,δ表示重构参数。
根据本公开实施例的第三方面,提供一种图像处理方法,包括:
接收待解码图像的压缩码流;
对压缩码流进行解码,得到待解码图像中每个待解码图像块的灰度量化信息、重构参数以及灰度残差信息;
根据每个待解码图像块的重构参数和第一方面及第一方面中任一实施例得到的训练基字典,得到每个待解码图像块对应的第二重构灰度图像块;
将每个待解码图像块的灰度量化信息赋值给对应的第二重构灰度图像块,得到每个待解码图像块的第三重构灰度图像块;
将第三重构灰度图像块和对应的灰度残差信息叠加,得到待解码图像。
由于对训练样本图像块进行灰度量化,降低了训练样本图像块的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的解码,能够有效提高重构质量。
根据本公开实施例的第四方面,提供一种图像处理装置,包括:
第一获取模块,用于获取训练样本图像;
第一分块模块,用于对训练样本图像进行分块,得到至少一个训练样本图像块;
第一量化模块,用于对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块;
字典学习模块,用于对所有第一灰度图像块进行字典学习,得到训练基字典。
在一个实施例中,量化模块包括:
计算子模块,用于计算每个训练样本图像块的灰度直方图;
选取子模块,用于从所有灰度直方图中选取出现次数最多的N个灰度值作为基本灰度;
量化子模块,用于将每个训练样本图像块中基本灰度与预设步长范围内的灰度值量化为对应的基本灰度;
量化子模块,用于将每个训练样本图像块中除基本灰度外的剩余灰度值量化为残余灰度,得到每个训练样本图像块的第一灰度图像块。
根据本公开实施例的第五方面,提供一种图像处理装置,包括:
第二获取模块,用于获取待压缩图像;
第二分块模块,用于对待压缩图像进行分块,得到至少一个待压缩图像块;
第二量化模块,用于对每个待压缩图像块进行灰度量化,得到每个待压缩图像块的灰度量化信息和第二灰度图像块;
第一重构模块,用于根据第一方面及第一方面任一实施例得到的训练基字典对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;
第三获取模块,用于获取每个第二灰度图像块和对应的第一重构灰度图像块之间的灰度残差信息,第一重构灰度图像块根据训练基字典和重构参数得到;
压缩模块,用于将每个待压缩图像块的灰度量化信息、重构参数以及灰度残差信息进行压缩编码。
根据本公开实施例的第六方面,提供一种图像处理装置,包括:
接收模块,用于接收待解码图像的压缩码流;
解码模块,用于对压缩码流进行解码,得到待解码图像中每个待解码图像块的灰度量化信息、重构参数以及灰度残差信息;
第二重构模块,用于根据每个待解码图像块的重构参数和第一方面及第一方面任一实施例得到的训练基字典,得到每个待解码图像块对应的第二重构灰度图像块;
赋值模块,用于将每个待解码图像块的灰度量化信息赋值给对应的第二重构灰度图像块,得到每个待解码图像块的第三重构灰度图像块;
叠加模块,还用于将第三重构灰度图像块和对应的灰度残差信息叠加,得到待解码图像。
根据本公开实施例的第七方面,提供一种图像处理***,包括:第五方面所描述的图像处理装置和第六方面所描述的图像处理装置。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种图像处理方法,如图1所示,该图像处理方法方法包括以下步骤:
101、获取训练样本图像。
在本公开实施例中,训练样本图像为预先设定的图像集,这些训练样本图像中包含不同颜色、字符、线条等内容。
102、对训练样本图像进行分块,得到至少一个训练样本图像块。
在本发明的一个实施例中,对训练样本图像按照预设间隔进行重叠采集,得到至少一个X*Y大小的训练样本图像块。所谓重叠采集是指依次采集得到的两个训练样本图像块在采集方向上相差预设间隔个像素,采用重叠采集的方式是为了保证采集训练样本图像块的数量。对于预设间隔可以根据实际需要进行自适应设置,例如预设间隔为大于等于1的整数。另外,X和Y的大小根据训练样本图像的大小进行设定,X与Y的大小可以相同也可以不相同。
103、对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块。
在本公开的一个实施例中,对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块包括:
计算每个训练样本图像块的灰度直方图;
从所有灰度直方图中选取出现次数最多的N个灰度值作为基本灰度;
将每个训练样本图像块中的基本灰度与预设步长范围内的灰度值量化为对应的基本灰度;
将每个训练样本图像块中除基本灰度外的剩余灰度值量化为残余灰度,得到每个训练样本图像块的第一灰度图像块。
其中,灰度直方图用于表征图像的一维信息,是将图像中的所有像素,按照灰度值的大小统计其出现的次数(或频率),用于表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。一副图像可以唯一确定与之对应的灰度统计直方图,但不同的图像可能有相同的灰度统计直方图。那么,对每个训练样本图像块中的灰度值进行统计,得到每个训练样本图像的灰度统计直方图。
然后,从灰度直方图中选取出现次数最多的N个灰度值作为基本灰度,如果两个基本灰度距离在预设阈值以内,则合并这两个基本灰度,直到选取出N个基本灰度。此处以对一个训练样本图像块进行灰度量化为例,根据选取出的N个基本灰度,将该训练样本图像块中基本灰度与预设步长范围内的灰度值都量化为基本灰度,将其他不是基本灰度的像素点的灰度值量化为残余灰度。这样,就实现对训练样本图像块的灰度量化,得到每个训练样本图像块的第一灰度图像块。
104、对所有第一灰度图像块进行字典学习,得到训练基字典。
在稀疏编码中,字典学习(Dictionary Learning)是为了获取相互独立的训练基字典,在本公开的一个实施例中,利用第一公式对所有第一灰度图像块进行字典学习,得到训练基字典;该第一公式包括:
其中,{Mk}表示第k个第一灰度图像块,k表示第一灰度图像块的序号,D表示训练基字典,bk表示第k个第一灰度图像块对应的稀疏编码系数,L表示约束值。该约束值为一常数,如256。
本公开实施例提供的图像处理方法,输入训练样本图像,对训练样本图像进行分块,得到至少一个训练样本图像块,对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块,对所有第一灰度图像块进行字典学习,得到训练基字典。通过对训练样本图像的灰度量化,降低了训练样本图像的差异性,通过字典学习能够建立紧凑高效的训练基字典,从而有效提高压缩率和重构质量。
基于上述图1对应的实施例提供的图像处理方法,本公开实施例提供了一种图像处理方法,参照图2所示,本实施例提供的图像处理方法包括:
201、获取待压缩图像。
202、对待压缩图像进行分块,得到至少一个待压缩图像块。
在本公开实施例中,将待压缩图像分割成与训练基字典相同大小、互不重叠的待压缩图像块。图2对应的实施例中提及的训练基字典与图1对应的实施例中的训练基字典相同。
203、对每个待压缩图像块进行灰度量化,得到每个待压缩图像块的灰度量化信息和第二灰度图像块。
在本公开实施例中,采用与步骤103中相同的方法,对每个待压缩图像块进行灰度量化,得到每一个待压缩图像块的第二灰度图像块,每个第二灰度图像块量化为对应的基本灰度和残余灰度,每个待压缩图像块的灰度量化信息中包含各自的基本灰度和残余灰度。
204、根据训练基字典对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数。
在本公开实施例中,根据训练基字典和第二公式对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;第二公式包括:
其中,Ik表示第k个第二灰度图像块,D表示训练基字典,λ表示平衡系数,δ表示重构参数。
205、获取每个第二灰度图像块和对应的第一重构灰度图像块的灰度残差信息,第一重构灰度图像块根据重构参数和训练基字典得到。
在本公开实施例中,根据重构参数和训练基字典,利用第三公式得到第一重构灰度图像,第三公式包括:
其中,
表示第k个第一重构灰度图像块,R表示重构,D表示训练基字典,δ表示重构参数。也就是说,第一重构灰度图像是通过训练基字典重构得到的。正是由于重构灰度图像是根据训练基字典重构得到的,无法保证与第二灰度图像完全一致,因此,与对应的第二灰度图像之间存在误差。所以,需要获取每个第二灰度图像块和对应的第一重构灰度图像块之间的灰度残差信息。
206、将每个待压缩图像块的灰度量化信息、重构参数以及灰度残差信息进行压缩编码。
步骤201~206是利用图1对应的实施例中获取的训练基字典,实现对待压缩图像的压缩编码,步骤201~206所描述的方法可应用于编码设备。在实现压缩编码后,将压缩码流发送给解码端,步骤207~211是利用图1对应的实施例中获取的训练基字典,对压缩码流的解码,得到解码图像,步骤207~211所描述的方法可应用于解码设备。需要说明的是,由于训练基字典在编码设备和解码设备中都会应用,因此,图1对应的实施例中获取的训练基字典的方法,其执行主体可以是编码设备,也可以是解码设备,编码设备和解码设备可以将获取到的训练基字典通过发送得到。
207、接收待解码图像的压缩码流。
需要说明的是,步骤207~211中所描述的待解码图像即经过步骤201~206中压缩之后的图像。
208、对压缩码流进行解码,得到解码信息。
其中,解码信息中包含待解码图像中每个待解码图像块的灰度量化信息、重构参数以及灰度残差信息。
209、根据每个待解码图像块的重构参数和训练基字典,得到每个待解码图像块的第二重构灰度图像块。
在本公开实施例中,利用步骤205中所描述的第三公式,得到每个待解码图像块的第二重构灰度图像块。
210、将每个待解码图像块的灰度量化信息赋值给对应的第二重构灰度图像块,得到每个待解码图像块的第三重构灰度图像块。
211、将每个第三重构灰度图像块和对应的灰度残差信息叠加,得到待解码图像。
本公开实施例提供的图像处理方法,由于对训练样本图像进行灰度量化,降低了训练样本图像的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的压缩和解码,能够有效提高压缩率和重构质量。
基于上述图1和2对应的实施例提供的图像处理方法,本公开另一实施例提供一种图像处理方法,本实施例提供的图像处理方法主要包括两个部分:字符基字典提取过程和图像压缩解压过程。其中,图3所示为字符基字典的提取流程图,图4为编码端对图像压缩的流程图,图5为解码端对图像解压的流程图。具体的:
第一部分:字符基字典提取过程
(1)训练样本采集:采集一些常用的含有字符的图像(即图3中的训练样本原始图像),包括不同的尺寸、颜色、字体等,并将这些图像分割为8*8或16*16的图像块,作为训练样本。其特征是采用重叠采集的方式进行,每个图像块x和y方向只相差1个像素,保证采集样本的数量。
(2)对每个样本图像块,计算其灰度统计直方图,选取数值出现次数最多的n个灰度值作为基本灰度,如果两个基本灰度距离在4以内,则合并这两个基本灰度,直到选出n个基本灰度。将每个基本灰度值±4范围内的值都量化为基本灰度,并将其灰度用0,1,2,…,n-1表示,其余不是基本灰度的像素点作为残余灰度,统一用n表示。这个由0-n组成的图像称为基本灰度图像块。其特征是对出现次数最多的n个灰度进行量化,对其余的灰度值统一量化为一个值。
(3)将所有基本灰度图像块,利用稀疏编码的方法,训练出一个字符基字典D,其训练过程可以用公式表示如下:
其中,{Mk}为基本灰度图像块,k表示基本灰度图像块序号,D为训练得到的字符基字典,bk为基本灰度图像块对应的稀疏编码系数,是一个向量,L表示约束值。
第二部分:图像压缩解压过程
(1)图像分块和量化:输入待压缩原始图像,将其分割为与字符基字典相同大小的、互不重叠的图像块。对每个图像块采用第一部分步骤(2)的自适应灰度量化方法,获得每个待压缩图像块的基本灰度图像块和基本灰度值表(即图4中的基本灰度量化表);对基本灰度值表,采用熵编码进行压缩。
(2)对于基本灰度图像块,在压缩端用字符基字典进行重构,求出其重构系数δ,其计算过程可以用公式表示如下:
其中I
k为输入待压缩图像的基本灰度图像块,D为字符基字典,λ为平衡系数。重构系数为稀疏向量,压缩率很高,对重构系数采用熵编码进行压缩。
(3)将原始图像值与重构后的基本灰度图像之间的差值,按照扫描顺序将其拉成一个向量,称为残差灰度值表(即图4中的残差灰度量化表)。对残差灰度值表进行DCT(离散余弦变换,Discrete Cosine Transform)变换,并在量化后进行熵编码,如果量化系数设为1,则可实现无损压缩;随着量化系数的增大,编码码率下降,图像质量也下降。最终压缩码流包括:重构系数、基本灰度值表、残差灰度值表三部分。
(4)解码过程:重构系数熵解码后,利用重构系数δ和字符基字典D,获得重构基本灰度图像块,重构过程计算公式如下:
其中
为重构基本灰度图像块。
(5)经过熵解码,获得基本灰度值表(即图5中的基本灰度量化表),并将基本灰度值赋值到
中,获得重构灰度图像块。
(6)经过熵解码获得解码残差灰度值表(即图5中的残差灰度量化表),将解码残差灰度值表与重构灰度图像块相加,获得最终解码结果。
本公开实施例提供的图像处理方法,通过对训练样本图像进行灰度量化,降低了训练样本图像的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的压缩和解码,能够有效提高压缩率和重构质量。
基于上述图1和图2对应的实施例中所描述的图像处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种图像处理装置,如图6所示,该图像处理装置60包括:第一获取模块601、第一分块模块602、第一量化模块603和字典学习模块604;
第一获取模块601,用于获取训练样本图像;
第一分块模块602,用于对训练样本图像进行分块,得到至少一个训练样本图像块;
第一量化模块603,用于对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块;
字典学习模块604,用于对所有第一灰度图像块进行字典学习,得到训练基字典。
在一个实施例中,第一分块模块602用于对训练样本图像按照预设间隔进行重叠采集,得到至少一个X*Y大小的训练样本图像块。
在一个实施例中,如图7所示,第一量化模块603包括:计算子模块6031、选取子模块6032、量化子模块6033;
计算子模块6031,用于计算每个训练样本图像块的灰度直方图;
选取子模块6032,用于从所有灰度直方图中选取出现次数最多的N个灰度值作为基本灰度;
量化子模块6033,用于将每个训练样本图像块中基本灰度与预设步长范围内的灰度值量化为对应的基本灰度;
量化子模块6033,还用于将每个训练样本图像块中除基本灰度外的剩余灰度值量化为残余灰度,得到每个训练样本图像块的第一灰度图像块。
在一个实施例中,字典学习模块604用于利用第一公式对所有第一灰度图像块进行字典学习,得到训练基字典;第一公式包括:
其中,{Mk}表示第k个第一灰度图像块,D表示训练基字典,bk表示第k个第一灰度图像块对应的稀疏编码系数,L表示约束值。
本公开实施例提供的图像处理装置,输入训练样本图像,对训练样本图像进行分块,得到至少一个训练样本图像块,对每个训练样本图像块进行灰度量化,得到每个训练样本图像块的第一灰度图像块,对所有第一灰度图像块进行字典学习,得到训练基字典。通过对训练样本图像的灰度量化,降低了训练样本图像的差异性,通过字典学习能够建立紧凑高效的训练基字典,从而有效提高压缩率和重构质量。
本公开实施例提供一种图像处理装置,如图8所示,该图像处理装置80包括:第二获取模块801、第二分块模块802、第二量化模块803、第一重构模块804、第三获取模块805、压缩模块806;
第二获取模块801,用于获取待压缩图像;
第二分块模块802,用于对待压缩图像进行分块,得到至少一个待压缩图像块;
第二量化模块803,用于对每个待压缩图像块进行灰度量化,得到每个待压缩图像块的灰度量化信息和第二灰度图像块;
第一重构模块804,用于根据图1实施例对应的方法得到的训练基字典对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;
第三获取模块805,还用于获取每个第二灰度图像块和对应的第一重构灰度图像块之间的灰度残差信息,第一重构灰度图像块根据训练基字典和重构参数得到;
压缩模块806,用于将每个待压缩图像块的灰度量化信息、重构参数以及灰度残差信息进行压缩编码。
在一个实施例中,第二重构模块804用于根据根据图1实施例对应的方法得到的训练基字典和第二公式对每个第二灰度图像块进行重构,得到每个第二灰度图像块的重构参数;第二公式包括:
其中,Ik表示第k个第二灰度图像块,D表示训练基字典,λ表示平衡系数,δ表示重构参数。
在一个实施例中,第二重构模块804用于根据训练基字典和对应的每个第二灰度量化图像块的重构参数、以及第三公式得到第一重构灰度图像块;第三公式包括:
其中,
表示第k个第一重构灰度图像块,R表示重构,D表示训练基字典,δ表示重构参数。
本公开实施例提供的图像处理装置,由于对训练样本图像进行灰度量化,降低了训练样本图像的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的压缩,能够有效提高压缩率和重构质量。
本公开实施例提供一种图像处理装置,如图9所示,该图像处理装置90包括:接收模块901、解码模块902、第二重构模块903、赋值模块904和叠加模块905;
接收模块901,用于接收待解码图像的压缩码流;
解码模块902,用于对压缩码流进行解码,得到待解码图像中每个待解码图像块的灰度量化信息、重构参数以及灰度残差信息;
第二重构模块903,用于根据每个待解码图像块的重构参数和图1实施例对应方法得到的训练基字典,得到每个待解码图像块对应的第二重构灰度图像块;
赋值模块904,用于根据每个待解码图像块的灰度量化信息和对应的第二重构灰度图像块,得到每个待解码图像块的第三重构灰度图像块;
叠加模块905,还用于将第三重构灰度图像块和对应的灰度残差信息叠加,得到待解码图像。
本公开实施例提供的图像处理装置,通过对训练样本图像进行灰度量化,降低了训练样本图像的差异性,通过稀疏编码能够建立紧凑高效的训练基字典,基于该训练基字典实现对图像的压缩和解码,能够有效提高压缩率和重构质量。
本公开实施例提供一种图像处理***,包括:图8对应实施例所描述的图像处理装置和图9对应实施例所描述的图像处理装置。
基于上述图1~图6对应的实施例中所描述的图像处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1和图3对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。