一种大幅面遥感图像无损压缩方法转让专利

申请号 : CN201910871670.3

文献号 : CN110691242B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 颜露新陈立群张天序钟胜李旭崔裕宾

申请人 : 华中科技大学

摘要 :

本发明公开了一种大幅面遥感图像无损压缩方法,属于图像处理领域。包括:将大幅面遥感图像分成互不重叠的独立编码区;辨识每个独立编码区像素的动态范围,确定其像素量化比特数;根据每个独立编码区的量化比特数,计算独立编码区的无损压缩参数;根据每个独立编码区的无损压缩参数,对独立编码区进行无损压缩,直至完成大幅面遥感图像的无损压缩。本发明将大幅面遥感图像分成多个互不重叠的独立编码区,辨识每个独立编码区的动态范围,将其作为大幅面遥感图像的局部动态范围,有效利用大幅面遥感图像局部动态范围低于相机固定动态范围的特点,提高了整体无损压缩比,使其具备根据局部动态范围调整压缩参数的能力,实现大幅面遥感图像的无损压缩。

权利要求 :

1.一种大幅面遥感图像无损压缩方法,其特征在于,该方法包括以下步骤:S1.将大幅面遥感图像分成互不重叠的独立编码区;

S2.辨识每个独立编码区像素的动态范围,确定其像素量化比特数;

S3.根据每个独立编码区的量化比特数,计算该独立编码区的无损压缩参数;

S4.根据每个独立编码区的无损压缩参数,对该独立编码区进行无损压缩,直至完成大幅面遥感图像的无损压缩;

步骤S3包括以下子步骤:

S31.设置微损度Near=0;

S32.根据当前独立编码区的最小像素比特数bpp,计算当前独立编码区像素值可能出现的最大值MaxVal,其计算公式如下:MaxVal=2bpp-1

S33.根据微损度Near和最大值MaxVal,计算残差取模参数Range,其计算公式如下:S34.根据当前独立编码区的最小像素比特数bpp和残差取模参数Range,计算Golomb编码限长参数,计算公式如下:Limit=2×(bpp+max(8,bpp))S35.根据残差取模参数Range,计算上下文参数初始值,计算公式如下:B[Q]=C[Q]=0

N[Q]=1

S36.根据最大值MaxVal,计算地址量化阈值T1、T2、T3,计算公式如下:T1=FACTOR+2

T2=FACTOR×4+3

T3=FACTOR×17+4

其中,Limit为单像素Golomb编码码长最大值,qbpp为像素残差量化比特数,A[Q]、B[Q]、C[Q]、N[Q]分别存储了上下文地址为Q的预测残差绝对值之和、预测残差之和、预测修正值和上下文出现的次数,FACTOR为地址量化阈值的倍数因子。

2.如权利要求1所述的方法,其特征在于,步骤S2具体为:对当前独立编码区内所有像素值按比特位进行或计算,得到计算结果中比特位为1的最高位,其位序从0开始加1,即为当前独立编码区最小像素比特数bpp。

3.如权利要求1所述的方法,其特征在于,步骤S4包括以下子步骤:S41.根据独立编码区的无损压缩参数,计算得到该独立编码区的残差映射值ME和Golomb编码参数k;

S42.根据残差映射值ME和Golomb编码参数k,对该独立编码区每个像素进行Golomb限长编码;

S43.顺序遍历至下一个独立编码区,重复步骤S41~S42,直至完成大幅面遥感图像所有独立编码区的无损压缩。

4.如权利要求3所述的方法,其特征在于,步骤S41包括以下子步骤:(1)选取当前像素相邻的西、北、西北、东北方向的四个像素Ra、Rb、Rc、Rd,计算梯度值D1=Rd-Rb、D2=Rb-Rc、D3=Rc-Ra;

(2)根据各Di和各地址量化阈值Ti,计算上下文地址值Q和上下文符号Sign,i=1,2,3;

(3)根据Ra、Rb、Rc,利用中值预测器求取固定预测值Px;

(4)根据预测修正值C[Q]、上下文符号Sign和固定预测值Px,得到预测修正值P′x=min((Px+Sign×C[Q]),MaxVal);

(5)根据P′x、当前像素的像素真实值Ix和上下文符号Sign,计算预测残差E=Sign×(Ix-P′x);

(6)根据微损度Near、预测残差E,计算残差量化值E_q(7)根据微损度Near、残差量化值E_q、上下文符号Sign,计算重建值Rx,计算过程如下:Rx=Px+Sign*E-q*(2*Near+1)若Rx<0,则Rx=0;若Rx>MaxVal,则Rx=MaxVal;

(8)根据残差取模参数Range,对残差E_q进行取模运算,获得残差取模值E_mod;

(9)根据上下文参数A[Q]、N[Q],计算Golomb编码参数(10)将残差取模值E_mod映射为非负值,得到残差映射值ME;

(11)根据当前像素的残差取模值E_q,对上下文参数A[Q]、B[Q]、C[Q]、N[Q]进行更新。

5.如权利要求4所述的方法,其特征在于,步骤(2)具体如下:若Di≤-T3,则Qi=-4;

若Di≤-T2,则Qi=-3;

若Di≤-T1,则Qi=-2;

若Di<-Near,则Qi=-1;

若Di≤Near,则Qi=0;

若Di<T1,则Qi=1;

若Di<T2,则Qi=2;

若Di<T3,则Qi=3;

else,Qi=4。

6.如权利要求4所述的方法,其特征在于,步骤(10)具体如下:若满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且满足(E_mod≥0),则ME=2×E_mod+1;

若满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且不满足(E_mod≥0),则ME=2×(E_mod+1);

若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且满足(E_mod≥0),则ME=2×E_mod;

若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且不满足(E_mod≥0),则ME=2×E_mod-1。

7.如权利要求4所述的方法,其特征在于,步骤(11)具体如下:B[Q]=B[Q]+E_q×(2×Near+1);

A[Q]=A[Q]+abs(E_q);

若满足N[Q]=RESET,则A[Q]=A[Q]>>1;

若满足N[Q]=RESET且满足B[Q]≥0,则B[Q]=B[Q]>>1;

若满足N[Q]=RESET且不满足B[Q]≥0,则B[Q]=-((1-B[Q])>>1),N[Q]=N[Q]>>1;

N[Q]=N[Q]+1;

若满足B[Q]≤-N[Q],则B[Q]=B[Q]+N[Q];

若满足B[Q]≤-N[Q]且满足C[Q]>-128,则C[Q]=C[Q]-1;

若满足B[Q]≤-N[Q]且满足B[Q]≤-N[Q],则B[Q]=-N[Q]+1;

若满足B[Q]>0,则B[Q]=B[Q]-N[Q];

若满足B[Q]≤-N[Q]且满足C[Q]<127,则C[Q]=C[Q]+1;

若满足B[Q]≤-N[Q]且满足B[Q]>0,则B[Q]=0;

其中,RESET为JPEG-LS编码参数,>>表示右移运算符。

8.如权利要求3所述的方法,其特征在于,步骤S42包括以下子步骤:S421.根据残差映射值ME和Golomb编码参数k,计算Golomb编码参数val、n,计算公式如下:n=ME-val×2k

S422.根据val、n,对E进行Golomb限长编码,获得码流;

S423.将当前独立编码区的最小像素比特数bpp及首像素FirstPixel作为边信息同当前独立编码区的码流共同输出。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~8任一项所述的大幅面遥感图像无损压缩方法。

说明书 :

一种大幅面遥感图像无损压缩方法

技术领域

[0001] 本发明属于图像处理领域,更具体地,涉及一种大幅面遥感图像无损压缩方法。

背景技术

[0002] 随着我国在对地观测和深空探测等空间领域的不断发展,遥感图像分辨率日益提高,数据量不断增大。大幅面遥感图像的巨大数据量与星地有限的下传带宽之间的矛盾,成为制约空间领域发展的主要矛盾,图像压缩技术是解决这一问题的有效途径。
[0003] 无损压缩比与相机图像的动态范围密切相关。一般而言,对于相同场景,相机图像量化比特数越小,无损压缩比越高;相机图像量化比特数越大,无损压缩比越低。传统无损压缩方法(例如JPEG-LS算法、上下文自适应无损图像压缩CALIC算法)的压缩参数根据相机图像的量化比特数Nb固定设定。例如,对于16bit的相机图像数据,无损压缩参数依据动态范围0~65535设置。实际上,大幅面遥感图像中,深空背景、夜间区域的局部动态范围明显低于相机图像全局动态范围;特别对于午夜时段的遥感图像,全区域动态范围明显低于相机固定动态范围。对这些低动态范围的图像局部区域,传统无损压缩方法仍然使用相机固定动态范围设置参数进行压缩,无损压缩比较低。若根据图像局部动态范围自适应调整压缩参数,就可有效利用图像局部范围小的优势,提高整体无损压缩比。
[0004] 专利CN105828070A提出一种JPEG-LS分块压缩方法,将图像划分为互不重叠的子块,独立进行无损或近无损压缩,可以实现图像局部区域的无损或近无损压缩,提高了压缩的灵活性,并可防止误码扩散。但各图像子块仍然采用统一且固定的动态范围进行压缩,不具备根据局部动态范围调整压缩参数的能力,导致压缩比较低。

发明内容

[0005] 针对现有技术的缺陷和改进需求,本发明提供了一种大幅面遥感图像无损压缩方法,其目的在于解决各图像子块仍然采用统一且固定的动态范围进行压缩导致压缩比较低的问题。
[0006] 为实现上述目的,按照本发明的一个方面,提供了一种大幅面遥感图像无损压缩方法,该方法包括以下步骤:
[0007] S1.将大幅面遥感图像分成互不重叠的独立编码区;
[0008] S2.辨识每个独立编码区像素的动态范围,确定其像素量化比特数;
[0009] S3.根据每个独立编码区的量化比特数,计算该独立编码区的无损压缩参数;
[0010] S4.根据每个独立编码区的无损压缩参数,对该独立编码区进行无损压缩,直至完成大幅面遥感图像的无损压缩。
[0011] 具体地,步骤S2具体为:
[0012] 对当前独立编码区内所有像素值按比特位进行或计算,得到计算结果中比特位为1的最高位,其位序从0开始加1,即为当前独立编码区最小像素比特数bpp。
[0013] 具体地,步骤S3包括以下子步骤:
[0014] S31.设置微损度Near=0;
[0015] S32.根据当前独立编码区的最小像素比特数bpp,计算当前独立编码区像素值可能出现的最大值MaxVal,其计算公式如下:
[0016] MaxVal=2bpp-1
[0017] S33.根据微损度Near和最大值MaxVal,计算残差取模参数Range,其计算公式如下:
[0018]
[0019] S34.根据当前独立编码区的最小像素比特数bpp和残差取模参数Range,计算Golomb编码限长参数,计算公式如下:
[0020] Limit=2×(bpp+max(8,bpp))
[0021]
[0022] S35.根据残差取模参数Range,计算上下文参数初始值,计算公式如下:
[0023]
[0024] B[Q]=C[Q]=0
[0025] N[Q]=1
[0026] S36.根据最大值MaxVal,计算地址量化阈值T1、T2、T3,计算公式如下:
[0027] T1=FACTOR+2
[0028] T2=FACTOR×4+3
[0029] T3=FACTOR×17+4
[0030]
[0031] 其中,Limit为单像素Golomb编码码长最大值,qbpp为像素残差量化比特数,A[Q]、B[Q]、C[Q]、N[Q]分别存储了上下文地址为Q的预测残差绝对值之和、预测残差之和、预测修正值和上下文出现的次数,FACTOR为地址量化阈值的倍数因子。
[0032] 具体地,步骤S4包括以下子步骤:
[0033] S41.根据独立编码区的无损压缩参数,计算得到该独立编码区的残差映射值ME和Golomb编码参数k;
[0034] S42.根据残差映射值ME和Golomb编码参数k,对该独立编码区每个像素进行Golomb限长编码;
[0035] S43.顺序遍历至下一个独立编码区,重复步骤S41~S42,直至完成大幅面遥感图像所有独立编码区的无损压缩。
[0036] 具体地,步骤S41包括以下子步骤:
[0037] (1)选取当前像素相邻的西、北、西北、东北方向的四个像素Ra、Rb、Rc、Rd,计算梯度值D1=Rd-Rb、D2=Rb-Rc、D3=Rc-Ra;
[0038] (2)根据各Di和各地址量化阈值Ti,计算上下文地址值Q和上下文符号Sign,i=1,2,3;
[0039] (3)根据Ra、Rb、Rc,利用中值预测器求取固定预测值Px;
[0040] (4)根据预测修正值C[Q]、上下文符号Sign和固定预测值Px,得到预测修正值P′x=min((Px+Sign×C[Q]),MaxVal);
[0041] (5)根据P′x、当前像素的像素真实值Ix和上下文符号Sign,计算预测残差E=Sign×(Ix-P′x);
[0042] (6)根据微损度Near、预测残差E,计算残差量化值E_q
[0043]
[0044] (7)根据微损度Near、残差量化值E_q、上下文符号Sign,计算重建值Rx,计算过程如下:
[0045] Rx=Px+Sign*E_q*(2*Near+1)
[0046] 若Rx<0,则Rx=0;若Rx>MaxVal,则Rx=MaxVal;
[0047] (8)根据残差取模参数Range,对残差E_q进行取模运算,获得残差取模值E_mod;
[0048] (9)根据上下文参数A[Q]、N[Q],计算Golomb编码参数
[0049] (10)将残差取模值E_mod映射为非负值,得到残差映射值ME;
[0050] (11)根据当前像素的残差取模值E_q,对上下文参数A[Q]、B[Q]、C[Q]、N[Q]进行更新。
[0051] 具体地,步骤(2)具体如下:
[0052] 若Di≤-T3,则Qi=-4;
[0053] 若Di≤-T2,则Qi=-3;
[0054] 若Di≤-T1,则Qi=-2;
[0055] 若Di<-Near,则Qi=-1;
[0056] 若Di≤Near,则Qi=0;
[0057] 若Di<T1,则Qi=1;
[0058] 若Di<T2,则Qi=2;
[0059] 若Di<T3,则Qi=3;
[0060] else,Qi=4。
[0061] 具体地,步骤(10)具体如下:
[0062] 若满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且满足(E_mod≥0),则ME=2×E_mod+1;
[0063] 若满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且不满足(E_mod≥0),则ME=2×(E_mod+1);
[0064] 若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且满足(E_mod≥0),则ME=2×E_mod;
[0065] 若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且不满足(E_mod≥0),则ME=2×E_mod-1。
[0066] 具体地,步骤(11)具体如下:
[0067] B[Q]=B[Q]+E_q×(2×Near+1);
[0068] A[Q]=A[Q]+abs(E_q);
[0069] 若满足N[Q]=RESET,则A[Q]=A[Q]>>1;
[0070] 若满足N[Q]=RESET且满足B[Q]≥0,则B[Q]=B[Q]>>1;
[0071] 若满足N[Q]=RESET且不满足B[Q]≥0,则B[Q]=-((1-B[Q])>>1),N[Q]=N[Q]>>1;
[0072] N[Q]=N[Q]+1;
[0073] 若满足B[Q]≤-N[Q],则B[Q]=B[Q]+N[Q];
[0074] 若满足B[Q]≤-N[Q]且满足C[Q]>-128,则C[Q]=C[Q]-1;
[0075] 若满足B[Q]≤-N[Q]且满足B[Q]≤-N[Q],则B[Q]=-N[Q]+1;
[0076] 若满足B[Q]>0,则B[Q]=B[Q]-N[Q];
[0077] 若满足B[Q]≤-N[Q]且满足C[Q]<127,则C[Q]=C[Q]+1;
[0078] 若满足B[Q]≤-N[Q]且满足B[Q]>0,则B[Q]=0;
[0079] 其中,RESET为JPEG-LS编码参数,>>表示右移运算符。
[0080] 具体地,步骤S42包括以下子步骤:
[0081] S421.根据残差映射值ME和Golomb编码参数k,计算Golomb编码参数val、n,计算公式如下:
[0082]
[0083] n=ME-val×2k
[0084] S422.根据val、n,对E进行Golomb限长编码,获得码流;
[0085] S423.将当前独立编码区的最小像素比特数bpp及首像素FirstPixel作为边信息同当前独立编码区的码流共同输出。
[0086] 为实现上述目的,按照本发明的另一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的大幅面遥感图像无损压缩方法。
[0087] 总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0088] (1)本发明将大幅面遥感图像分成多个互不重叠的独立编码区,因为不同独立编码区的码流相互独立,码流在传输中出现错误时,仅影响错误码流位置对应的独立编码区解码图像,误码被限制在一个独立编码区内,有效增加了抗误码性能。
[0089] (2)本发明辨识每个独立编码区的动态范围,这样处理将独立编码区的动态范围作为大幅面遥感图像的局部动态范围,有效利用了大幅面遥感图像局部动态范围低于相机固定动态范围的特点,提高了整体无损压缩比,使得本发明方法具备根据局部动态范围调整压缩参数的能力,实现了大幅面遥感图像的无损压缩。
[0090] (3)本发明对独立编码区内所有像素值按照比特位进行或计算,可以自适应辨识大幅面遥感图像局部区域的动态范围,并据此设置无损压缩参数,进一步利用了大幅面遥感图像局部动态范围低于相机固定动态范围的特点,提高了整体无损压缩比。
[0091] (4)本发明将独立编码区的最小像素比特数作为边信息,考虑了大幅面遥感图像局部区域的动态范围,使得后续可以利用边信息与码流组合进行解码。

附图说明

[0092] 图1为本发明实施例提供的一种大幅面遥感图像无损压缩方法流程图;
[0093] 图2为本发明实施例提供的当前像素的四个临近值选取示意图;
[0094] 图3为本发明实施例提供的大幅面遥感图像示意图;
[0095] 图4为本发明实施例提供的独立编码区最小像素比特数bpp直方图。

具体实施方式

[0096] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0097] 如图1所示,本发明提供一种大幅面遥感图像无损压缩方法,该方法包括以下步骤:
[0098] 步骤S1.将大幅面遥感图像分成互不重叠的独立编码区。
[0099] 将像素大小为R×C的大幅面遥感图像Img分成互不重叠、像素大小为r×c的独立编码区ICRi,i=1,2,...P,其中,P为独立编码区总数,R、C分别为图像Img的行、列值,r、c分别为独立编码区ICRi的行、列值,根据需要设置。
[0100] 具体实现过程为:按照设置的独立编码区行值r(0<r<R)、列值c(0<c<C),将图像Img划分为互不重叠的若干独立编码区。当图像Img行值R无法被独立编码区行值r整除时,使用当前独立编码区最后一行像素值填充;当图像Img列值C无法被独立编码区列值c整除时,使用当前独立编码区的最后一列像素值填充。
[0101] 步骤S2.辨识每个独立编码区像素的动态范围,确定其像素量化比特数。
[0102] 获取当前独立编码区图像ICRi,统计独立编码区ICRi像素的动态范围,获得可表示当前独立编码区ICRi所有像素的最小像素比特数bpp。
[0103] 具体实现过程为:对当前独立编码区内所有像素值按比特位进行或计算,得到计算结果中比特位为1的最高位,其位序(从0开始)加1即为当前编码区最小像素比特数bpp值。例如,假设当前编码区所有像素值按位进行或操作计算为126,126比特位为1的最高位为6,则当前编码区最小像素比特数bpp为6+1=7。
[0104] 步骤S3.根据每个独立编码区的量化比特数,计算该独立编码区的无损压缩参数。
[0105] 根据辨识得到的独立编码区的最小像素比特数bpp,计算当前独立编码区ICRi的无损压缩参数。
[0106] 步骤S3包括以下子步骤:
[0107] S31.设置微损度Near=0。
[0108] 微损度Near设置为0,表示无损压缩。
[0109] S32.根据当前独立编码区的最小像素比特数bpp,计算当前独立编码区像素值可能出现的最大值MaxVal,其计算公式如下:
[0110] MaxVal=2bpp-1
[0111] S33.根据微损度Near和最大值MaxVal,计算残差取模参数Range,其计算公式如下:
[0112]
[0113] S34.根据当前独立编码区的最小像素比特数bpp和残差取模参数Range,计算Golomb编码限长参数,计算公式如下:
[0114] Limit=2×(bpp+max(8,bpp))
[0115]
[0116] 其中,Limit为单像素Golomb编码码长最大值,qbpp为像素残差量化比特数。
[0117] S35.根据残差取模参数Range,计算上下文参数初始值,计算公式如下:
[0118]
[0119] B[Q]=C[Q]=0
[0120] N[Q]=1
[0121] 其中,A[Q]、B[Q]、C[Q]、N[Q]分别存储了上下文地址为Q的预测残差绝对值之和、预测残差之和、预测修正值和上下文出现的次数,将在后续步骤进行更新。
[0122] S36.根据最大值MaxVal,计算地址量化阈值T1、T2、T3。
[0123] T1=FACTOR+2
[0124] T2=FACTOR×4+3
[0125] T3=FACTOR×17+4
[0126] 其中,FACTOR为地址量化阈值的倍数因子,计算公式如下:
[0127]
[0128] 获取子图像的动态范围,自适应确定无损压缩参数,对子图像进行无损压缩。对每个分块子图像进行上述操作,完成整幅图像压缩。无损压缩参数设置基于图像动态范围,采用较小的动态范围可以获得更好的压缩效果。
[0129] 步骤S4.根据每个独立编码区的无损压缩参数,对该独立编码区进行无损压缩,直至完成大幅面遥感图像的无损压缩。
[0130] 根据计算的无损压缩参数,对独立编码区进行无损压缩获得码流,同当前独立编码区的首像素FirstPixel及最小像素比特数bpp等边信息组合输出。首像素FirstPixel就是独立编码区的第一个像素。
[0131] 步骤S4包括以下子步骤:
[0132] S41.根据独立编码区的无损压缩参数,计算得到该独立编码区的残差映射值ME和Golomb编码参数k。
[0133] (1)选取当前像素相邻的西、北、西北、东北方向的四个像素Ra、Rb、Rc、Rd,计算梯度值D1、D2、D3。
[0134] 如图2所示,根据JPEG-LS上下文模板,选取当前像素的四个临近值Ra、Rb、Rc、Rd,计算三个梯度值D1、D2、D3。
[0135] D1=Rd-Rb
[0136] D2=Rb-Rc
[0137] D3=Rc-Ra
[0138] (2)根据各Di和各地址量化阈值Ti,计算上下文地址值Q和上下文符号Sign,i=1,2,3。
[0139] 根据Di和地址量化阈值T1、T2、T3,计算地址量化值Qi,i=1,2,3,具体如下:
[0140] 若Di≤-T3,则Qi=-4;若Di≤-T2,则Qi=-3;若Di≤-T1,则Qi=-2;若Di<-Near,则Qi=-1;若Di≤Near,则Qi=0;若Di<T1,则Qi=1;若Di<T2,则Qi=2;若Di<T3,则Qi=3;else,Qi=4。
[0141] 根据地址量化值Qi,计算上下文地址值Q和上下文符号Sign。
[0142] Q=|81×Q1+9×Q2+Q3|
[0143]
[0144] (3)根据Ra、Rb、Rc,利用中值预测器求取固定预测值Px。
[0145]
[0146] (4)根据预测修正值C[Q]、上下文符号Sign和固定预测值Px,得到预测修正值P′x=min((Px+Sign×C[Q]),MaxVal)。
[0147] (5)根据P′x、当前像素的像素真实值Ix和上下文符号Sign,计算预测残差E=Sign×(Ix-P′x)。
[0148] (6)根据微损度Near、预测残差E,计算残差量化值E_q
[0149]
[0150] (7)根据微损度Near、残差量化值E_q、上下文符号Sign,计算重建值Rx,计算过程如下:
[0151] Rx=Px+Sign*E_q*(2*Near+1)
[0152] 若Rx<0,则Rx=0;若Rx>MaxVal,则Rx=MaxVal;
[0153] (8)根据残差取模参数Range,对残差E_q进行取模运算,获得残差取模值E_mod;
[0154]
[0155] (9)根据上下文参数A[Q]、N[Q],计算Golomb编码参数
[0156] (10)将残差取模值E_mod映射为非负值,得到残差映射值ME。
[0157] 若满足(Near=0)且(k=0)且(2×B[Q]≤-N[Q])且满足(E_mod≥0),则ME=2×E_mod+1;
[0158] 若满足(Near=0)且(k=0)且(2×B[Q]≤-N[Q])且不满足(E_mod≥0),则ME=2×(E_mod+1);
[0159] 若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且满足(E_mod≥0),则ME=2×E_mod;
[0160] 若不满足((Near=0)且(k=0)且(2×B[Q]≤-N[Q]))且不满足(E_mod≥0),则ME=2×E_mod-1。
[0161] (11)根据当前像素的残差取模值E_q,对上下文参数A[Q]、B[Q]、C[Q]、N[Q]进行更新。
[0162] B[Q]=B[Q]+E_q×(2×Near+1);
[0163] A[Q]=A[Q]+abs(E_q);
[0164] 若满足N[Q]=RESET,则A[Q]=A[Q]>>1;
[0165] 若满足N[Q]=RESET且满足B[Q]≥0,则B[Q]=B[Q]>>1;
[0166] 若满足N[Q]=RESET且不满足B[Q]≥0,则B[Q]=-((1-B[Q])>>1),N[Q]=N[Q]>>1;
[0167] N[Q]=N[Q]+1;
[0168] 若满足B[Q]≤-N[Q],则B[Q]=B[Q]+N[Q];
[0169] 若满足B[Q]≤-N[Q]且满足C[Q]>-128,则C[Q]=C[Q]-1;
[0170] 若满足B[Q]≤-N[Q]且满足B[Q]≤-N[Q],则B[Q]=-N[Q]+1;
[0171] 若满足B[Q]>0,则B[Q]=B[Q]-N[Q];
[0172] 若满足B[Q]≤-N[Q]且满足C[Q]<127,则C[Q]=C[Q]+1;
[0173] 若满足B[Q]≤-N[Q]且满足B[Q]>0,则B[Q]=0;
[0174] 其中,JPEG-LS编码参数RESET的值是默认或者根据需要设定,>>表示右移运算符。
[0175] S42.根据残差映射值ME和Golomb编码参数k,对该独立编码区每个像素进行Golomb限长编码。
[0176] S421.根据残差映射值ME和Golomb编码参数k,计算Golomb编码参数val、n,计算公式如下:
[0177]
[0178] n=ME-val×2k
[0179] 经过Golomb限长编码,长度限制为Limit-qbpp-1。
[0180] S422.根据val、n,对E进行Golomb限长编码,获得码流;
[0181] S423.将当前独立编码区的最小像素比特数bpp及首像素FirstPixel作为边信息同当前独立编码区的码流共同输出。
[0182] 对独立编码区进行无损压缩后得到码流,将独立编码区的最小像素量化比特数作为边信息与码流组合。
[0183] S43.顺序遍历至下一个独立编码区,重复步骤S41~S42,直至完成大幅面遥感图像所有独立编码区的无损压缩。
[0184] 完成大幅面遥感图像的无损压缩,得到大幅面遥感图像的边信息与码流组合。
[0185] 对应地,本发明提供一种大幅面遥感图像无损解压缩方法,该方法包括以下步骤:
[0186] 利用大幅面遥感图像的边信息与码流组合进行解码(解码是解压缩,本题是压缩,不涉及具体的解压缩),得到大幅面遥感图像原始数据。
[0187] 图3为分辨率1354*2030,像素位宽16bit的大幅面遥感图像(表1中3号图)。设独立编码区行值r=16,列值c=64对该图像(相机像素位宽为16比特)统计独立编码区最小像素比特数bpp直方图,结果如图4所示,其中0.3%为12比特,62.1%为13比特,37.4%为14比特,只有0.2%是16比特。大部分独立编码区的最小像素比特数bpp小于相机位宽16。
[0188] 使用专利CN105828070A和本发明对大幅面遥感图像进行无损压缩,设置独立编码区像素行值为16、列值为64,压缩比对比结果如表1所示,结果表明,本发明无损压缩比大于专利CN105828070A无损压缩比。
[0189]
[0190] 表1
[0191] 根据局部动态范围自适应调整无损压缩参数,提高了整幅图像无损压缩比。实验表明,相对于专利CN105828070A采用固定不变的无损压缩参数,压缩比提高10%左右。
[0192] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。