CN101771874A - 一种卫星图像压缩方法及其实现装置 - Google Patents

一种卫星图像压缩方法及其实现装置 Download PDF

Info

Publication number
CN101771874A
CN101771874A CN200910273497A CN200910273497A CN101771874A CN 101771874 A CN101771874 A CN 101771874A CN 200910273497 A CN200910273497 A CN 200910273497A CN 200910273497 A CN200910273497 A CN 200910273497A CN 101771874 A CN101771874 A CN 101771874A
Authority
CN
China
Prior art keywords
value
bit
pixel
register
context
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.)
Granted
Application number
CN200910273497A
Other languages
English (en)
Other versions
CN101771874B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2009102734973A priority Critical patent/CN101771874B/zh
Publication of CN101771874A publication Critical patent/CN101771874A/zh
Application granted granted Critical
Publication of CN101771874B publication Critical patent/CN101771874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种卫星图像压缩方法及其实现装置,属于遥感和数字图像处理领域,解决现有图像压缩方法对编码数据传输误码率要求高、处理速度慢的问题。本发明方法,将整幅图像分为子图像,子图像独立编码,顺序进行初始化、像素冗余去除、上下文提取、预测、Golomb编码和数据聚合步骤;在进行预测和Golomb编码步骤的同时,并行顺序进行梯度计算和上下文环境参数更新步骤。本发明装置采用FPGA实现,包括坐标计算、分块控制、像素冗余去除、上下文提取、预测、Golomb编码、数据聚合、梯度计算和上下文环境参数模块。本发明提高图像压缩率,误码容忍能力强,实时性好,整体编码效率极大提升,能满足大幅面卫星图像数据实时无损压缩的要求。

Description

一种卫星图像压缩方法及其实现装置
技术领域
本发明属于遥感和数字图像处理领域,具体涉及一种卫星图像压缩方法及其实现装置。
背景技术
遥感卫星获取图像的代价高,对于地面数据分析处理来说,获得的数据准确可靠和无失真非常重要。星载相机获得大量原始数据,是宝贵的原始信息,常常要求全部无损失的实时传递下来,其数据量超过我国现有数据传送设施能力,必须进行2倍左右的实时无损压缩传输。星上数据压缩一般采用单帧图像帧内压缩方法,很少采用多帧图像帧间压缩方法。变换编码和预测编码是星上数据压缩的主流方法。变换编码一般基于离散余弦变换(DCT)和离散小波变换(DWT),预测编码是无损压缩算法的常用方法,在星上数据无损压缩任务中得到广泛使用,特别是基于温博格(Weinberger)等提出的图像低复杂度无损压缩(LOCO-I,lowcomplexity lossless compression for images)思想的标准JPEG-LS算法已成为空间数据系统咨询委员会(CCSDS)推荐的无损压缩算法之一。
标准JPEG-LS算法是一般上下文模式的“低复杂度实现”,如图1所示。在宏观上,它是建立在对输入图像上下文建模基础上的逐像素处理,针对不同像素其上下文的不同点,JPEG-LS的编码流程采取两种模式:常规模式和游程模式。但卫星图像中很少会出现大块的平滑区域图像,体现不了游程编码的优点。
近年来FPGA开始应用到空间数据压缩任务中,目前在美国、澳大利亚、新加坡等国的宇航系统中,FPGA已经在很多信息处理环节处于核心地位。美国NASA的JPL实验室研究人员使用FPGA实现了标准JPEG-LS算法(FPGA-LOCO),工作频率在12MHz时,可获得1.33M像素/秒的压缩速度;澳大利亚的FedSat星上基于赛灵思公司的FPGA(型号为XQR4062)实现了一种非标准JPEG-LS算法,用于图像压缩,工作频率在2.15MHz时,获得17.2Mbps的压缩速度。
但是,美国喷气推进实验所实现的标准JPEG-LS算法及澳大利亚实现的非标准JPEG-LS算法不能满足星上大幅面图像的无损压缩的实时性和压缩速度的要求,星上无损压缩存在以下难点:
(1)大幅面高速率的图像的实时无损压缩困难。多波段高帧频的扫描相机,获得了大幅面、高速率的原始图像信息,必须全部无损失、实时地传送下来,现有技术不能满足这种大幅面高速率图像数据的实时无损压缩的要求。
(2)误码容忍能力差。复杂的星地空间传输中误码率较高,要完全正确的传输大幅面卫星图像无损压缩编码数据的每一个比特是非常困难的。现有的无损压缩方法对编码数据的传输误码率要求很高,如对存在误码的编码数据进行解码时,会因为预测链断裂,发生递推性解码错误,造成误码位置后的解码图像全部错误。
(3)很难实现全流水线结构,因此处理速度较慢。现有技术如JPEG-LS由于其固有的参数更新反馈机制,很难实现全流水线结构,压缩速度不高,不能将数据实时压缩下传。澳大利亚FedSat卫星上SAICS系统使用FPGA实现的JPEG-LS算法中就是去掉了相应的预测修正步骤,并对k值的计算采用了新的方法,规避了上下文参数的影响。但这种方法使压缩效率明显恶化,以至于不能满足实际应用的数据下传带宽要求。
发明内容
本发明提供一种卫星图像压缩方法及其实现装置,解决现有图像压缩方法对编码数据的传输误码率要求高、处理速度较慢的问题;以在有限的星上传输带宽和计算资源条件下,实现卫星图像原始数据信息的无失真压缩实时下传,并增强算法的误码容忍能力,最大限度提高图像的压缩率。
本发明的一种卫星图像压缩方法,其特征在于:将整幅图像按行分为1~10240块子图像,对每块子图像独立编码,顺序进行初始化步骤、像素冗余去除步骤、上下文提取步骤、预测步骤、Golomb编码步骤和数据聚合步骤;在进行预测步骤和Golomb编码步骤的同时,并行顺序进行梯度计算步骤和上下文环境参数更新步骤;
(1)初始化步骤:将数组A[]内的每一个值初始化为
Figure G2009102734973D00031
Figure G2009102734973D00032
数组B[]内的每一个值初始化为0,数组C[]内的每一个值初始化为0,数组N[]内的每一个值初始化为1;M为当前图像像素比特位位宽可表示的最大值;数组A[]、B[]、C[]和N[]为四个存储器;数组A[]存储对应上下文参数索引值的已编码像素累积的预测误差绝对值之和,数组B[]存储对应上下文参数索引值的已编码像素的预测误差值之和,数组C[]存储对应上下文参数索引值的编码像素灰度值的修正值,数组N[]存储对应上下文参数索引值的已编码像素的个数;
(2)像素冗余去除步骤:检测输入卫星图像的像素灰度值比特位,当像素灰度值比特位高n位为全0或者低n位为全0时,去除高n位或者低n位;
(3)上下文提取步骤:从卫星图像的第一个像素开始,按行顺序提取卫星图像当前像素(i,j)的上下文像素灰度值f(i,j-1)、f(i-1,j-1)、f(i-1,j)、f(i-1,j+1);其中f(i,j)为图像像素(i,j)的灰度值函数,i为像素所在的行,j为像素所在的列,1≤i≤R,1≤j≤C,R为图像的行数,C为图像的列数,图像大小为R×C,R、C的大小根据需要设定;当i=1、j=1或j=C的边缘情况下,上下文像素灰度值如下取值:
(3-1)i=1时,f(i-1,j-1)=0;f(i-1,j)=0;f(i-1,j+1)=0;
(3-2)j=1时,f(i,j-1)=f(i-1,j);
(3-3)j=C时,f(i-1,j+1)=f(i-1,j);
(4)预测步骤,顺序包括:
(4-1)固定预测子步骤:基于当前像素的上下文像素灰度值预测当前像素灰度值,得到当前像素灰度预测值P:
Figure G2009102734973D00041
其中, max ( x , y ) = x , x &GreaterEqual; y y , x < y ,
min ( x , y ) = y , x &GreaterEqual; y x , x < y ;
(4-2)自适应修正子步骤:对当前像素灰度预测值P进行修正,得到当前像素预测修正值PC
Pc = P + C [ q ] s = 1 Pc = P - C [ q ] s = - 1 Pc = M Pc > M Pc = 0 Pc < 0 ,
式中,M为当前图像像素灰度值比特位位宽可表示的最大值,q为上下文参数索引值,s为符号位,q和s由梯度计算步骤(7)给出,C[q]为上下文参数索引值q在数组C[]中的对应值,由数组C[]的存储器中读出;
(4-3)误差预测子步骤:由当前像素灰度值f(i,j)与其预测修正值PC得到预测残差值ex
e x = f ( i , j ) - Pc s = 1 Pc - f ( i , j ) s = - 1 ;
(4-4)误差映射子步骤:对预测残差值ex进行取模处理,得到预测残差模值ex′:
e x &prime; = e x + M + 1 e x < - M + 1 2 e x - M - 1 e x &GreaterEqual; M + 1 2 ;
式中,M为当前图像像素比特位位宽可表示的最大值;
(5)Golomb编码步骤,进行Golomb编码,顺序包括:
(5-1)映射处理子步骤:
将预测残差模值ex′映射为非负值E:
E = 2 e x &prime; e x &prime; &GreaterEqual; 0 2 | e x &prime; | - 1 e x &prime; < 0
(5-2)参数计算子步骤,计算前编码长度最大值L和后编码长度k:
L=Lm-b-1,
Figure G2009102734973D00062
Lm为Golomb编码的最长编码长度,b为图像像素灰度值比特位的位宽;
A[q]表示对应上下文参数索引值q的已编码像素累积的预测误差绝对值之和,由数组A[]的存储器中读出;
N[q]表示对应上下文参数索引值q的已编码像素个数,由数组N[]的存储器中读出;
(5-3)编码子步骤,包括下述过程:
A.判断是否
Figure G2009102734973D00063
是则转过程B,否则转过程C;
B.编码长度共
Figure G2009102734973D00064
个比特位,分为前后两部分:前一部分为
Figure G2009102734973D00065
个比特位全“0”再加一个比特位“1”;后一部分为k个比特位二进制表示的E/2k的余数;
C.进行限长Golomb编码,编码长度共Lm个比特位,分为前后两部分:前一部分为L个比特位全“0”再加一个比特位“1”;后一部分为b个比特位二进制表示的E-1;
(6)数据聚合步骤:
将当前像素的Glomb编码结果顺序放入一个定长数据包,定长数据包为N位比特位,N≥32,根据需要选择,每装满一个定长数据包便将其传出,当前像素的Glomb编码结果多出的比特位顺序放入下一个定长数据包;
(7)梯度计算步骤:计算上下文局部梯度值D[m],并映射为相应的量化值Q[m],计算出上下文参数索引值q和符号位s,包括下述子步骤:
(7-1)计算三个局部梯度值D[m],m=1、2、3:
D[1]=f(i-1,j+1)-f(i-1,j),
D[2]=f(i-1,j)-f(i-1,j-1),
D[3]=f(i-1,j-1)-f(i,j-1),
(7-2)将D[m]映射为相应的量化值Q[m],m=1、2、3:
Q [ m ] = 0 D [ m ] = 0 1 0 < D [ m ] < T 1 2 T 1 &le; D [ m ] < T 2 3 T 2 &le; D [ m ] < T 3 4 D [ m ] &GreaterEqual; T 3 Q [ m ] = - 1 - T 1 < D [ m ] < 0 - 2 - T 2 < D [ m ] &le; - T 1 - 3 - T 3 < D [ m ] &le; - T 2 - 4 D [ m ] &le; - T 3
其中,比较参数T1,T2,T3的取值如下:
  图像像素灰度值比特位位宽   T1   T2   T3
  ≤8   3   7   21
  >8   18   67   276
(7-3)计算上下文参数索引值q和符号位s:
q = q t q t &GreaterEqual; 0 - q t q t < 0 ,
s = 1 q t &GreaterEqual; 0 - 1 q t < 0 ,
式中,qt=81×Q[1]+9×Q[2]+Q[3];等待步骤(5)的子步骤(5-1)结果,再进行步骤(8);
(8)上下文环境参数更新步骤,顺序包括下述子步骤:
(8-1)更新A[q]、B[q]:
A[q]=A[q]+|E|,
B[q]=B[q]+E;
A[q]由A[q]的存储器中读出;B[q]表示对应上下文参数索引值q的已编码像素的预测误差值,由B[q]的存储器中读出;
(8-2)判断N[q]是否大于64,是则转子步骤(8-3),否则转子
步骤(8-4);
(8-3)更新A[q]、B[q]、N[q]:
Figure G2009102734973D00081
Figure G2009102734973D00082
(8-4)更新N[q]:N[q]=N[q]+1;
(8-5)判断是否C[q]>-128且B[q]≤-N[q],是则转子步骤(8-6),否则转子步骤(8-7);
(8-6)更新C[q]、B[q]:
C[q]=C[q]-1,B[q]=max(B[q]+N[q],1-N[q]);
(8-7)判断是否C[q]<127且B[q]>0,是则转子步骤(8-8),否则结束;
(8-8)更新C[q]、B[q]:
C[q]=C[q]+1,B[q]=min(B[q]-N[q],0);
(8-9)将更新的A[q]、B[q]、C[q]、N[q]分别写入对应的A[]、B[]、C[]、N[]四个存储器。
本发明一种实现卫星图像压缩方法的装置,采用FPGA实现,其特征在于:包括坐标计算模块、分块控制模块、像素冗余去除模块、上下文提取模块、预测模块、Golomb编码模块、数据聚合模块、梯度计算模块和上下文环境参数模块;
(1)坐标计算模块:
坐标计算模块输入图像数据,计算输入的每块子图像像素在子图像内的行列坐标值,每块子图像第一个像素坐标值为(1,1),在每块子图像的最后一个像素给出初始化信号到初始化模块;
(2)初始化模块:
接收到初始化信号后,将模块(3)~(8)中所有的存储器与寄存器初始化:全部清0;
将上下文环境参数模块中,数组A[]内的每一个值初始化为
Figure G2009102734973D00091
数组B[]内的每一个值初始化为0,数组C[]内的每一个值初始化为0,数组N[]内的每一个值初始化为1;M为当前图像像素比特位位宽可表示的最大值;数组A[]、B[]、C[]和N[]为四个存储器;数组A[]存储对应上下文参数索引值的已编码像素累积的预测误差绝对值之和,数组B[]存储对应上下文参数索引值的已编码像素的预测误差值之和,数组C[]存储对应上下文参数索引值的编码像素灰度值的修正值,数组N[]存储对应上下文参数索引值的已编码像素的个数;
(3)像素冗余去除模块由像素寄存器构成,检测输入卫星图像的像素灰度值比特位,当像素灰度值比特位高n位为全0或者低n位为全0时,去除高n位或者低n位;像素寄存器的宽度为输入卫星图像的像素灰度值比特位位宽;
(4)上下文提取模块由第一寄存器、先进先出存储器(FIFO)、第二寄存器、第三寄存器顺序串联组成,缓存输入的子图像数据流,从卫星图像的第一个像素开始,按行顺序提取卫星图像当前像素(i,j)的上下文像素灰度值f(i,j-1)、f(i-1,j-1)、f(i-1,j)、f(i-1,j+1);其中f(i,j)为图像像素(i,j)的灰度值函数,i为像素所在的行,j为像素所在的列,1≤i≤R,1≤j≤C,R为图像的行数,C为图像的列数,图像大小为R×C,R、C的大小根据需要设定;当i=1、j=1或j=C的边缘情况下,上下文像素灰度值如下取值:
(4-1)i=1时,f(i-1,j-1)=0;f(i-1,j)=0;f(i-1,j+1)=0;
(4-2)j=1时,f(i,j-1)=f(i-1,j);
(4-3)j=C时,f(i-1,j+1)=f(i-1,j);
当输出使能信号有效时,上下文像素灰度值从先进先出存储器FIFO与第一寄存器、第二寄存器,以及第二寄存器与第三寄存器之间的连接点输出,先进先出存储器FIFO深度为C-2,宽度为图像像素灰度值比特位位宽;
(5)预测模块,包括串联的固定预测子模块、自适应修正子模块、误差预测子模块和误差映射子模块:
(5-1)固定预测子模块:由预测值寄存器构成,基于当前像素的上下文像素灰度值预测当前像素灰度值,得到当前像素灰度预测值P:
Figure G2009102734973D00111
其中, max ( x , y ) = x , x &GreaterEqual; y y , x < y ,
min ( x , y ) = y , x &GreaterEqual; y x , x < y ;
预测值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素灰度预测值P;
(5-2)自适应修正子模块:由修正值寄存器构成,对当前像素灰度预测值P进行修正,得到当前像素预测修正值PC
Pc = P + C [ q ] s = 1 Pc = P - C [ q ] s = - 1 Pc = M Pc > M Pc = 0 Pc < 0 ,
式中,M为当前图像像素灰度值比特位位宽可表示的最大值,q为上下文参数索引值,s为符号位,q和s由梯度计算模块(7)给出,C[q]为上下文参数索引值q在数组C[]中的对应值,由数组C[]的存储器中读出;
修正值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测修正值PC
(5-3)误差预测子模块:由残差值寄存器构成,当前像素灰度值f(i,j)与其预测修正值PC得到预测残差值ex
e x = f ( i , j ) - Pc s = 1 Pc - f ( i , j ) s = - 1 ;
残差值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测残差值ex
(5-4)误差映射子模块:由残差模值寄存器构成,对预测残差值ex进行取模处理,得到预测残差模值ex′:
e x &prime; = e x + M + 1 e x < - M + 1 2 e x - M - 1 e x &GreaterEqual; M + 1 2 ;
式中,M为当前图像像素比特位位宽可表示的最大值;
残差模值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测残差模值ex′;
(6)Golomb编码模块,进行Golomb编码,包括串联的映射处理子模块、参数计算子模块、编码子模块:
(6-1)映射处理子模块,由映射寄存器构成:
将预测残差模值ex′映射为非负值E:
E = 2 e x &prime; e x &prime; &GreaterEqual; 0 2 | e x &prime; | - 1 e x &prime; < 0 ,
计算结果,送给上下文环境参数更新模块;映射寄存器的宽度为当前像素灰度值比特位位宽,存储非负值E;
(6-2)参数计算子模块,由后编码寄存器构成,计算前编码长度最大值L和后编码长度k:
L=Lm-b-1,
Figure G2009102734973D00131
Lm为Golomb编码的最长编码长度,b为图像像素灰度值比特位的位宽;
A[q]表示对应上下文参数索引值q的已编码像素累积的预测误差绝对值之和,由数组A[]的存储器中读出;
N[q]表示对应上下文参数索引值q的已编码像素个数,由数组N[]的存储器中读出;
后编码寄存器的宽度为当前像素灰度值比特位位宽,存储后编码长度k;
(6-3)编码子模块,由b个码字只读存储器构成,编码过程如下:
A.判断是否
Figure G2009102734973D00132
是则转过程B,否则转过程C;
B.编码长度共
Figure G2009102734973D00133
个比特位,分为前后两部分:前一部分为个比特位全“0”再加一个比特位“1”;后一部分为k个比特位二进制表示的E/2k的余数;前后两部分组成Golomb编码的码字;
C.进行限长Golomb编码,编码长度共Lm个比特位,分为前后两部分:前一部分为L个比特位全“0”再加一个比特位“1”;后一部分为b个比特位二进制表示的E-1;前后两部分组成Golomb编码的码字;
将Golomb编码的码字转化为长度为Lm+L1的定长冗余Golomb编码码字,并存储在b个码字只读存储器中,k的大小作为b个码字只读存储器的片选信号,E为地址信号,在b个码字只读存储器中索引对应的定长冗余Golomb码字;定长冗余Golomb码字定义为:对过程B的编码结果,高L1比特位存储数值
Figure G2009102734973D00135
中间
Figure G2009102734973D00136
位比特位为“0”,低
Figure G2009102734973D00141
位存储对应的Golomb编码的码字;
对于过程C的编码,高L1比特位存储数值Lm,低Lm位存储对应的Golomb编码的码字;
(7)数据聚合模块,由两个N位比特位的移位寄存器构成,N≥32;
从Golomb编码模块的b个码字只读存储器中读出对应的定长冗余Golomb码字,通过分析高L1比特位的数值确定Golomb编码的码字,顺序放入第一个移位寄存器,装满第一个移位寄存器便将其中的数据传出,再将该寄存器值清0;当前像素的Glomb编码结果多出的比特位顺序放入第二个移位寄存器;装满第二个移位寄存器便将其中的数据传出,再将该寄存器值清0,当前像素的Glomb编码结果多出的比特位顺序放入第一个移位寄存器;
(8)梯度计算模块,由三个梯度值寄存器、三个量化值寄存器、索引值寄存器和符号位寄存器构成,进行下述过程:
(8-1)计算三个局部梯度值D[m],m=1、2、3:
D[1]=f(i-1,j+1)-f(i-1,j),
D[2]=f(i-1,j)-f(i-1,j-1),
D[3]=f(i-1,j-1)-f(i,j-1),
三个梯度值寄存器的宽度为当前像素灰度值比特位位宽,分别存储三个局部梯度值;
(8-2)将D[m]映射为相应的量化值Q[m],m=1、2、3:
Q [ m ] = 0 D [ m ] = 0 1 0 < D [ m ] < T 1 2 T 1 &le; D [ m ] < T 2 3 T 2 &le; D [ m ] < T 3 4 D [ m ] &GreaterEqual; T 3 Q [ m ] = - 1 - T 1 < D [ m ] < 0 - 2 - T 2 < D [ m ] &le; - T 1 - 3 - T 3 < D [ m ] &le; - T 2 - 4 D [ m ] &le; - T 3
其中,比较参数T1,T2,T3的取值如下:
  图像像素灰度值比特位位宽   T1   T2   T3
  ≤8   3   7   21
  >8   18   67   276
三个量化值寄存器的宽度为当前像素灰度值比特位位宽,分别存储三个量化值;
(8-3)计算上下文参数索引值q和符号位s:
q = q t q t &GreaterEqual; 0 - q t q t < 0 ,
s = 1 q t &GreaterEqual; 0 - 1 q t < 0 ,
式中,qt=81×Q[1]+9×Q[2]+Q[3];计算结果,送给上下文环境参数更新模块;
索引值寄存器的宽度≥9位,符号位寄存器的宽度为1位,分别存储上下文参数索引值q和符号位s;
(9)上下文环境参数更新模块,包括四个临时参数寄存器和四个双口随机存取存储器,对上下文环境参数进行更新和存储;
四个临时参数寄存器的宽度≥当前像素灰度值比特位位宽+6位,用于更新过程中A[q]、B[q]、C[q]、N[q]四个数值的存储;
四个双口随机存取存储器的宽度≥当前像素灰度值比特位位宽+6位,分别存储A[]、B[]、C[]、N[]四个数组,需要索引上下文参数时,从双口随机存取存储器的一个口读取上下文参数以供编码模块与预测模块使用;更新的上下文参数从双口随机存取存储器的另一个口写入,读取和写入两个过程互不干扰;
更新和存储顺序进行下述过程:
(9-1)更新A[q]、B[q]:
A[q]=A[q]+|E|,
B[q]=B[q]+E;
A[q]由A[q]的临时参数存储器中读出;B[q]表示对应上下文参数索引值q的已编码像素的预测误差值,由B[q]的临时参数存储器中读出;
(9-2)判断N[q]是否大于64,是则转过程(9-3),否则转过程(9-4),N[q]由N[q]的临时参数存储器中读出;
(9-3)更新A[q]、B[q]、N[q]:
Figure G2009102734973D00161
Figure G2009102734973D00162
Figure G2009102734973D00163
(9-4)更新N[q]:N[q]=N[q]+1;
(9-5)判断是否C[q]>-128且B[q]≤-N[q],是则转过程(9-6),否则转过程(9-7),C[q]由C[q]的临时参数存储器中读出;
(9-6)更新C[q]、B[q]:
C[q]=C[q]-1,B[q]=max(B[q]+N[q],1-N[q]);
(9-7)判断是否C[q]<127且B[q]>0,是则转过程(9-8),否则转过程(9-9);
(9-8)更新C[q]、B[q]:
C[q]=C[q]+1,B[q]=min(B[q]-N[q],0);
(9-9)将更新的A[q]、B[q]、C[q]、N[q]分别写入A[]、B[]、C[]、N[]对应的四个双口随机存取存储器。
本发明具有以下优点:
(1)判别图像冗余信息,提高压缩率。当图像中每个像素灰度值的高n位或低n位为全0时,这些0像素位实际上是不含任何信息的,滤除这些冗余信息并提高了图像压缩率。
(2)误码容忍能力强。采用分块编码,将图像数据按行分为1~10240个子图像,将全图预测链断开,经过这种处理,传输误码只对其所在的子图像有影响,这一子图像因预测链的断裂会发生递推性解码错误,但对其他子图像的解码不会产生影响,造成的错误只是局部的,不会造成全图性扩散。
(3)流水线结构。不等待本次参数更新完毕就进行下一像素的预测和编码处理,这种处理方式会对压缩率产生影响,但其综合效应可以用一个准则公式来衡量:编码效率=压缩率×实时性,这里实时性可用压缩速度来表示。由几组卫星图像对本发明参数更新方式进行评估,其对压缩比的影响不到±0.1%,但编码速度达到了60M像素/秒(600Mbps),处理延时为21~52个工作时钟周期,相对于美国喷气推进实验所基于FPGA的1.33M像素/秒、澳大利亚17.2Mbps的压缩速度,整体编码效率得到了极大提升。
本发明提高图像压缩率,误码容忍能力强,实时性好,整体编码效率极大提升,能满足大幅面卫星图像数据实时无损压缩的要求。
附图说明
图1为标准JPEG-LS算法的常规模式编码流程示意图;
图2为本发明卫星图像压缩方法的流程示意图;
图3为本发明实现卫星图像压缩方法的装置总体结构示意图;
图4为待编码的卫星图像;
图5为像素冗余去除模块处理流程示意图;
图6为上下文提取模块结构示意图;
图7为上下文像素位置示意图;
图8为定长冗余Golomb码字示意图;
图9为数据聚合模块结构框图;
图10为上下文环境参数更新模块结构框图;
图11为传输误码时未采用分块处理的效果图;
图12为传输误码时采用分块处理的效果图.
具体实施方式
如图2所示,本发明采用分块编码的方式对图像进行处理,包括初始化步骤、像素冗余去除步骤、上下文提取步骤、梯度计算步骤、预测步骤、Golomb编码步骤、数据聚合步骤和上下文环境参数更新步骤。
如图3所示,本发明可以在FPGA内部实现,包括坐标计算模块、初始化模块、像素冗余去除模块、上下文提取模块、预测模块、Golomb编码模块、数据聚合模块、梯度计算模块和上下文环境参数更新模块。
图4为待编码的卫星图像,将整幅图像分为160块子图像,每块子图像包括m行n列,去除冗余后的图像像素灰度值位宽为8比特,因此M=255。
初始化模块,在每块子图像开始编码之前进行以下初始化:数组A[]对应的双口随机存取存储器中的每一个值初始化为4,数组B[]对应的双口随机存取存储器中的每一个值初始化为0,数组C[]对应的双口随机存取存储器中的每一个值初始化为0,数组N[]对应的双口随机存取存储器中的每一个值初始化为1;其他各模块存储器与寄存器全部清0。
像素冗余去除模块,由像素寄存器构成,宽度为10位,检测输入卫星图像的像素灰度值比特位,当像素灰度值比特位高2位为全0或者低2位为全0时,去除高2位或者低2位;
如图5所示,输入图像像素灰度值比特位存在高2位为0的情况,去除高2位,将低8位传出送入下一模块。
如图6所示,上下文提取模块,由第一寄存器、先进先出存储器(FIFO)、第二寄存器、第三寄存器顺序串联组成,缓存输入的图像数据流;当输出使能信号有效时,上下文像素灰度值从先进先出存储器FIFO与第一寄存器、第二寄存器,以及第二寄存器与第三寄存器之间的连接点输出,先进先出存储器FIFO深度为8192,宽度为图像像素灰度值比特位位宽8比特。
如图7所示,当前像素(i,j)的上下文像素灰度值f(i,j-1)、f(i-1,j-1)、f(i-1,j)、f(i-1,j+1);其中f(i,j)为图像像素(i,j)的灰度值函数,i为像素所在的行,j为像素所在的列。
预测模块包括固定预测子模块、自适应误差子模块、误差预测子模块、误差映射子模块:
(1)固定预测子模块:由预测值寄存器构成,基于当前像素的上下文像素灰度值预测当前像素灰度值,得到当前像素灰度预测值P:
Figure G2009102734973D00201
其中, max ( x , y ) = x , x &GreaterEqual; y y , x < y ,
min ( x , y ) = y , x &GreaterEqual; y x , x < y ;
(2)自适应修正子模块:由修正值寄存器构成,把q作为从双口RAM中索引预测修正值C[q]的地址值,从双口RAM中读出预测修正值C[q],得到当前像素预测修正值PC
Pc = P + C [ q ] s = 1 Pc = P - C [ q ] s = - 1 Pc = 255 Pc > 255 Pc = 0 Pc < 0 ,
式中,q和s由梯度计算模块给出,C[q]由上下文参数更新模块的数组C[]的存储器中读出;
(3)误差预测子模块:由残差值寄存器构成,当前像素灰度值f(i,j)与其预测修正值PC得到预测残差值ex
e x = f ( i , j ) - Pc s = 1 Pc - f ( i , j ) s = - 1 ;
(4)误差映射子模块:由残差模值寄存器构成,对预测残差值ex进行取模处理,得到预测残差模值ex′:
e x &prime; = e x + 128 e x < - 128 e x - 128 e x &GreaterEqual; 128 .
Golomb编码模块进行Golomb编码,再将Golomb编码的码字转化为长度为48的定长冗余Golomb编码码字,将全部的定长冗余Golomb编码码字按k值不同分为8组,存储在8个码字只读存储器中,k的大小作为8个码字只读存储器的片选信号,E为地址信号,在8个码字只读存储器中索引对应的定长冗余Golomb码字;如图8所示,定长冗余Golomb码字定义为:高8比特位为码长信息位,存储Golomb编码码字长度值;低40位比特位从最低位开始存储Golomb编码码字,中间未使用的比特位全部补“0”。
如图9所示,数据聚合模块由两个32位比特位的移位寄存器构成,从Golomb编码模块的8个码字只读存储器中读出对应的定长冗余Golomb码字,通过分析高8比特位的数值确定Golomb编码的码字,顺序放入第一个移位寄存器,装满第一个移位寄存器便将其中的数据传出,再将该寄存器值清0;当前像素的Glomb编码结果多出的比特位顺序放入第二个移位寄存器;装满第二个移位寄存器便将其中的数据传出,再将该寄存器值清0,当前像素的Glomb编码结果多出的比特位顺序放入第一个移位寄存器;
梯度计算模块,由三个梯度值寄存器、三个量化值寄存器、索引值寄存器和符号位寄存器构成,在计算出梯度D[m](m=1,2,3)后计算相应的应设置Q[m],由于处理的像素精度为8bit位宽,因此,T1=3,T2=7,T3=21,同时根据量化所得的Q[i]值进行符号转变处理得到上下文参数索引值q,并以此来确定符号标志位s。
如图10所示,上下文参数模块包括四个临时参数寄存器和四个双口随机存取存储器,对上下文环境参数进行更新和存储;
四个临时参数寄存器的宽度为32比特位,用于更新过程中A[q]、B[q]、C[q]、N[q]四个数值的存储;
四个双口随机存取存储器的宽度为32比特位,深度为512,分别存储A[]、B[]、C[]、N[]四个数组。
参照图4,图11为传输卫星图像时未分块的误码效果,未分块时,自传输误码的像素起,后面所有图像像素灰度值全部出错,图12为传输卫星图像时分块的误码效果。自传输误码的像素起,误码像素所在的子图像块全部出错,如图中中间的乱码,但不会影响到后续子图像。

Claims (2)

1.一种卫星图像压缩方法,其特征在于:将整幅图像按行分为1~10240块子图像,对每块子图像独立编码,顺序进行初始化步骤、像素冗余去除步骤、上下文提取步骤、预测步骤、Golomb编码步骤和数据聚合步骤;在进行预测步骤和Golomb编码步骤的同时,并行顺序进行梯度计算步骤和上下文环境参数更新步骤;
(1)初始化步骤:将数组A[]内的每一个值初始化为
Figure F2009102734973C00011
Figure F2009102734973C00012
数组B[]内的每一个值初始化为0,数组C[]内的每一个值初始化为0,数组N[]内的每一个值初始化为1;M为当前图像像素比特位位宽可表示的最大值;数组A[]、B[]、C[]和N[]为四个存储器;数组A[]存储对应上下文参数索引值的已编码像素累积的预测误差绝对值之和,数组B[]存储对应上下文参数索引值的已编码像素的预测误差值之和,数组C[]存储对应上下文参数索引值的编码像素灰度值的修正值,数组N[]存储对应上下文参数索引值的已编码像素的个数;
(2)像素冗余去除步骤:检测输入卫星图像的像素灰度值比特位,当像素灰度值比特位高n位为全0或者低n位为全0时,去除高n位或者低n位;
(3)上下文提取步骤:从卫星图像的第一个像素开始,按行顺序提取卫星图像当前像素(i,j)的上下文像素灰度值f(i,j-1)、f(i-1,j-1)、f(i-1,j)、f(i-1,j+1);其中f(i,j)为图像像素(i,j)的灰度值函数,i为像素所在的行,j为像素所在的列,1≤i≤R,1≤j≤C,R为图像的行数,C为图像的列数,图像大小为R×C,R、C的大小根据需要设定;当i=1、j=1或j=C的边缘情况下,上下文像素灰度值如下取值:
(3-1)i=1时,f(i-1,j-1)=0;f(i-1,j)=0;f(i-1,j+1)=0;
(3-2)j=1时,f(i,j-1)=f(i-1,j);
(3-3)j=C时,f(i-1,j+1)=f(i-1,j);
(4)预测步骤,顺序包括:
(4-1)固定预测子步骤:基于当前像素的上下文像素灰度值预测当前像素灰度值,得到当前像素灰度预测值P:
其中, max ( x , y ) = x , x &GreaterEqual; y y , x < y ,
min ( x , y ) = y , x &GreaterEqual; y x , x < y ;
(4-2)自适应修正子步骤:对当前像素灰度预测值P进行修正,得到当前像素预测修正值PC
Pc = P + C [ q ] s = 1 Pc = P - C [ q ] s = - 1 Pc = M Pc > M Pc = 0 Pc < 0 ,
式中,M为当前图像像素灰度值比特位位宽可表示的最大值,q为上下文参数索引值,s为符号位,q和s由梯度计算步骤(7)给出,C[q]为上下文参数索引值q在数组C[]中的对应值,由数组C[]的存储器中读出;
(4-3)误差预测子步骤:由当前像素灰度值f(i,j)与其预测修正值PC得到预测残差值ex
e x = f ( i , j ) - Pc s = 1 Pc - f ( i , j ) s = - 1 ;
(4-4)误差映射子步骤:对预测残差值ex进行取模处理,得到预测残差模值ex′:
e x &prime; = e x + M + 1 e x < - M + 1 2 e x - M - 1 e x &GreaterEqual; M + 1 2 ;
式中,M为当前图像像素比特位位宽可表示的最大值;
(5)Golomb编码步骤,进行Golomb编码,顺序包括:
(5-1)映射处理子步骤:
将预测残差模值ex′映射为非负值E:
E = 2 e x &prime; e x &prime; &GreaterEqual; 0 2 | e x &prime; | - 1 e x &prime; < 0
(5-2)参数计算子步骤,计算前编码长度最大值L和后编码长度k:
L=Lm-b-1,
Figure F2009102734973C00034
Lm为Golomb编码的最长编码长度,b为图像像素灰度值比特位的位宽;
A[q]表示对应上下文参数索引值q的已编码像素累积的预测误差绝对值之和,由数组A[]的存储器中读出;
N[q]表示对应上下文参数索引值q的已编码像素个数,由数组N[]的存储器中读出;
(5-3)编码子步骤,包括下述过程:
A.判断是否
Figure F2009102734973C00041
是则转过程B,否则转过程C;
B.编码长度共
Figure F2009102734973C00042
个比特位,分为前后两部分:前一部分为
Figure F2009102734973C00043
个比特位全“0”再加一个比特位“1”;后一部分为k个比特位二进制表示的E/2k的余数;
C.进行限长Golomb编码,编码长度共Lm个比特位,分为前后两部分:前一部分为L个比特位全“0”再加一个比特位“1”;后一部分为b个比特位二进制表示的E-1;
(6)数据聚合步骤:
将当前像素的Glomb编码结果顺序放入一个定长数据包,定长数据包为N位比特位,N≥32,根据需要选择,每装满一个定长数据包便将其传出,当前像素的Glomb编码结果多出的比特位顺序放入下一个定长数据包;
(7)梯度计算步骤:计算上下文局部梯度值D[m],并映射为相应的量化值Q[m],计算出上下文参数索引值q和符号位s,包括下述子步骤:
(7-1)计算三个局部梯度值D[m],m=1、2、3:
D[1]=f(i-1,j+1)-f(i-1,j),
D[2]=f(i-1,j)-f(i-1,j-1),
D[3]=f(i-1,j-1)-f(i,j-1),
(7-2)将D[m]映射为相应的量化值Q[m],m=1、2、3:
Q [ m ] = 0 D [ m ] = 0 1 0 < D [ m ] < T 1 2 T 1 &le; D [ m ] < T 2 3 T 2 &le; D [ m ] < T 3 4 D [ m ] &GreaterEqual; T 3 Q [ m ] = - 1 - T 1 < D [ m ] < 0 - 2 - T 2 < D [ m ] &le; - T 1 - 3 - T 3 < D [ m ] &le; - T 2 - 4 D [ m ] &le; - T 3
其中,比较参数T1,T2,T3的取值如下:
  图像像素灰度值比特位位宽   T1   T2   T3   ≤8   3   7   21   >8   18   67   276
(7-3)计算上下文参数索引值q和符号位s:
q = q t q t &GreaterEqual; 0 - q t q t < 0 ,
s = 1 q t &GreaterEqual; 0 - 1 q t < 0 ,
式中,qt=81×Q[1]+9×Q[2]+Q[3];等待步骤(5)的子步骤(5-1)结果,再进行步骤(8);
(8)上下文环境参数更新步骤,顺序包括下述子步骤:
(8-1)更新A[q]、B[q]:
A[q]=A[q]+|E|,
B[q]=B[q]+E;
A[q]由A[q]的存储器中读出;B[q]表示对应上下文参数索引值q的已编码像素的预测误差值,由B[q]的存储器中读出;
(8-2)判断N[q]是否大于64,是则转子步骤(8-3),否则转子步骤(8-4);
(8-3)更新A[q]、B[q]、N[q]:
Figure F2009102734973C00061
Figure F2009102734973C00062
Figure F2009102734973C00063
(8-4)更新N[q]:N[q]=N[q]+1;
(8-5)判断是否C[q]>-128且B[q]≤-N[q],是则转子步骤(8-6),否则转子步骤(8-7);
(8-6)更新C[q]、B[q]:
C[q]=C[q]-1,B[q]=max(B[q]+N[q],1-N[q]);
(8-7)判断是否C[q]<127且B[q]>0,是则转子步骤(8-8),否则结束;
(8-8)更新C[q]、B[q]:
C[q]=C[q]+1,B[q]=min(B[q]-N[q],0);
(8-9)将更新的A[q]、B[q]、C[q]、N[q]分别写入对应的A[]、B[]、C[]、N[]四个存储器。
2.一种实现权利要求1所述卫星图像压缩方法的装置,采用FPGA实现,其特征在于:包括坐标计算模块、分块控制模块、像素冗余去除模块、上下文提取模块、预测模块、Golomb编码模块、数据聚合模块、梯度计算模块和上下文环境参数模块;
(1)坐标计算模块:
坐标计算模块输入图像数据,计算输入的每块子图像像素在子图像内的行列坐标值,每块子图像第一个像素坐标值为(1,1),在每块子图像的最后一个像素给出初始化信号到初始化模块;
(2)初始化模块:
接收到初始化信号后,将模块(3)~(8)中所有的存储器与寄存器初始化:全部清0;
将上下文环境参数模块中,数组A[]内的每一个值初始化为
Figure F2009102734973C00071
Figure F2009102734973C00072
数组B[]内的每一个值初始化为0,数组C[]内的每一个值初始化为0,数组N[]内的每一个值初始化为1;M为当前图像像素比特位位宽可表示的最大值;数组A[]、B[]、C[]和N[]为四个存储器;数组A[]存储对应上下文参数索引值的已编码像素累积的预测误差绝对值之和,数组B[]存储对应上下文参数索引值的已编码像素的预测误差值之和,数组C[]存储对应上下文参数索引值的编码像素灰度值的修正值,数组N[]存储对应上下文参数索引值的已编码像素的个数;
(3)像素冗余去除模块由像素寄存器构成,检测输入卫星图像的像素灰度值比特位,当像素灰度值比特位高n位为全0或者低n位为全0时,去除高n位或者低n位;像素寄存器的宽度为输入卫星图像的像素灰度值比特位位宽;
(4)上下文提取模块由第一寄存器、先进先出存储器(FIFO)、第二寄存器、第三寄存器顺序串联组成,缓存输入的子图像数据流,从卫星图像的第一个像素开始,按行顺序提取卫星图像当前像素(i,j)的上下文像素灰度值f(i,j-1)、f(i-1,j-1)、f(i-1,j)、f(i-1,j+1);其中f(i,j)为图像像素(i,j)的灰度值函数,i为像素所在的行,j为像素所在的列,1≤i≤R,1≤j≤C,R为图像的行数,C为图像的列数,图像大小为R×C,R、C的大小根据需要设定;当i=1、j=1或j=C的边缘情况下,上下文像素灰度值如下取值:
(4-1)i=1时,f(i-1,j-1)=0;f(i-1,j)=0;f(i-1,j+1)=0;
(4-2)j=1时,f(i,j-1)=f(i-1,j);
(4-3)j=C时,f(i-1,j+1)=f(i-1,j);
当输出使能信号有效时,上下文像素灰度值从先进先出存储器FIFO与第一寄存器、第二寄存器,以及第二寄存器与第三寄存器之间的连接点输出,先进先出存储器FIFO深度为C-2,宽度为图像像素灰度值比特位位宽;
(5)预测模块,包括串联的固定预测子模块、自适应修正子模块、误差预测子模块和误差映射子模块:
(5-1)固定预测子模块:由预测值寄存器构成,基于当前像素的上下文像素灰度值预测当前像素灰度值,得到当前像素灰度预测值P:
Figure F2009102734973C00081
其中, max ( x , y ) = x , x &GreaterEqual; y y , x < y ,
min ( x , y ) = y , x &GreaterEqual; y x , x < y ;
预测值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素灰度预测值P;
(5-2)自适应修正子模块:由修正值寄存器构成,对当前像素灰度预测值P进行修正,得到当前像素预测修正值PC
Pc = P + C [ q ] s = 1 Pc = P - C [ q ] s = - 1 Pc = M Pc > M Pc = 0 Pc < 0 ,
式中,M为当前图像像素灰度值比特位位宽可表示的最大值,q为上下文参数索引值,s为符号位,q和s由梯度计算模块(7)给出,C[q]为上下文参数索引值q在数组C[]中的对应值,由数组C[]的存储器中读出;
修正值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测修正值PC
(5-3)误差预测子模块:由残差值寄存器构成,当前像素灰度值f(i,j)与其预测修正值PC得到预测残差值ex
e x = f ( i , j ) - Pc s = 1 Pc - f ( i , j ) s = - 1 ;
残差值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测残差值ex
(5-4)误差映射子模块:由残差模值寄存器构成,对预测残差值ex进行取模处理,得到预测残差模值ex′:
e x &prime; = e x + M + 1 e x < - M + 1 2 e x - M - 1 e x &GreaterEqual; M + 1 2 ;
式中,M为当前图像像素比特位位宽可表示的最大值;
残差模值寄存器的宽度为当前像素灰度值比特位位宽,存储当前像素预测残差模值ex′;
(6)Golomb编码模块,进行Golomb编码,包括串联的映射处理子模块、参数计算子模块、编码子模块:
(6-1)映射处理子模块,由映射寄存器构成:
将预测残差模值ex′映射为非负值E:
E = 2 e x &prime; e x &prime; &GreaterEqual; 0 2 | e x &prime; | - 1 e x &prime; < 0 ,
计算结果,送给上下文环境参数更新模块;映射寄存器的宽度为当前像素灰度值比特位位宽,存储非负值E;
(6-2)参数计算子模块,由后编码寄存器构成,计算前编码长度最大值L和后编码长度k:
L=Lm-b-1,
Figure F2009102734973C00102
Lm为Golomb编码的最长编码长度,b为图像像素灰度值比特位的位宽;
A[q]表示对应上下文参数索引值q的已编码像素累积的预测误差绝对值之和,由数组A[]的存储器中读出;
N[q]表示对应上下文参数索引值q的已编码像素个数,由数组N[]的存储器中读出;
后编码寄存器的宽度为当前像素灰度值比特位位宽,存储后编码长度k;
(6-3)编码子模块,由b个码字只读存储器构成,编码过程如下:
A.判断是否
Figure F2009102734973C00103
是则转过程B,否则转过程C;
B.编码长度共
Figure F2009102734973C00104
个比特位,分为前后两部分:前一部分为
Figure F2009102734973C00111
个比特位全“0”再加一个比特位“1”;后一部分为k个比特位二进制表示的E/2k的余数;前后两部分组成Golomb编码的码字;
C.进行限长Golomb编码,编码长度共Lm个比特位,分为前后两部分:前一部分为L个比特位全“0”再加一个比特位“1”;后一部分为b个比特位二进制表示的E-1;前后两部分组成Golomb编码的码字;
将Golomb编码的码字转化为长度为Lm+L1的定长冗余Golomb编码码字,并存储在b个码字只读存储器中,k的大小作为b个码字只读存储器的片选信号,E为地址信号,在b个码字只读存储器中索引对应的定长冗余Golomb码字;定长冗余Golomb码字定义为:对过程B的编码结果,高L1比特位存储数值中间
Figure F2009102734973C00113
位比特位为“0”,低
Figure F2009102734973C00114
位存储对应的Golomb编码的码字;对于过程C的编码,高L1比特位存储数值Lm,低Lm位存储对应的Golomb编码的码字;
(7)数据聚合模块,由两个N位比特位的移位寄存器构成,N≥32;
从Golomb编码模块的b个码字只读存储器中读出对应的定长冗余Golomb码字,通过分析高L1比特位的数值确定Golomb编码的码字,顺序放入第一个移位寄存器,装满第一个移位寄存器便将其中的数据传出,再将该寄存器值清0;当前像素的Glomb编码结果多出的比特位顺序放入第二个移位寄存器;装满第二个移位寄存器便将其中的数据传出,再将该寄存器值清0,当前像素的Glomb编码结果多出的比特位顺序放入第一个移位寄存器;
(8)梯度计算模块,由三个梯度值寄存器、三个量化值寄存器、索引值寄存器和符号位寄存器构成,进行下述过程:
(8-1)计算三个局部梯度值D[m],m=1、2、3:
D[1]=f(i-1,j+1)-f(i-1,j),
D[2]=f(i-1,j)-f(i-1,j-1),
D[3]=f(i-1,j-1)-f(i,j-1),
三个梯度值寄存器的宽度为当前像素灰度值比特位位宽,分别存储三个局部梯度值;
(8-2)将D[m]映射为相应的量化值Q[m],m=1、2、3:
Q [ m ] = 0 D [ m ] = 0 1 0 < D [ m ] < T 1 2 T 1 &le; D [ m ] < T 2 3 T 2 &le; D [ m ] < T 3 4 D [ m ] &GreaterEqual; T 3 Q [ m ] = - 1 - T 1 < D [ m ] < 0 - 2 - T 2 < D [ m ] &le; - T 1 - 3 - T 3 < D [ m ] &le; - T 2 - 4 D [ m ] &le; - T 3
其中,比较参数T1,T2,T3的取值如下:
  图像像素灰度值比特位位宽   T1   T2   T3   ≤8   3   7   21   >8   18   67   276
三个量化值寄存器的宽度为当前像素灰度值比特位位宽,分别存储三个量化值;
(8-3)计算上下文参数索引值q和符号位s:
q = q t q t &GreaterEqual; 0 - q t q t < 0 ,
s = 1 q t &GreaterEqual; 0 - 1 q t < 0 ,
式中,qt=81×Q[1]+9×Q[2]+Q[3];计算结果,送给上下文环境参数更新模块;
索引值寄存器的宽度≥9位,符号位寄存器的宽度为1位,分别存储上下文参数索引值q和符号位s;
(9)上下文环境参数更新模块,包括四个临时参数寄存器和四个双口随机存取存储器,对上下文环境参数进行更新和存储;
四个临时参数寄存器的宽度为当前像素灰度值比特位位宽+6位,用于更新过程中A[q]、B[q]、C[q]、N[q]四个数值的存储;
四个双口随机存取存储器的宽度为当前像素灰度值比特位位宽+6位,分别存储A[]、B[]、C[]、N[]四个数组,需要索引上下文参数时,从双口随机存取存储器的一个口读取上下文参数以供编码模块与预测模块使用;更新的上下文参数从双口随机存取存储器的另一个口写入,读取和写入两个过程互不干扰;
更新和存储顺序进行下述过程:
(9-1)更新A[q]、B[q]:
A[q]=A[q]+|E|,
B[q]=B[q]+E;
A[q]由A[q]的临时参数存储器中读出;B[q]表示对应上下文参数索引值q的已编码像素的预测误差值,由B[q]的临时参数存储器中读出;
(9-2)判断N[q]是否大于64,是则转过程(9-3),否则转过程(9-4),N[q]由N[q]的临时参数存储器中读出;
(9-3)更新A[q]、B[q]、N[q]:
Figure F2009102734973C00131
Figure F2009102734973C00141
(9-4)更新N[q]:N[q]=N[q]+1;
(9-5)判断是否C[q]>-128且B[q]≤-N[q],是则转过程(9-6),否则转过程(9-7),C[q]由C[q]的临时参数存储器中读出;
(9-6)更新C[q]、B[q]:
C[q]=C[q]-1,B[q]=max(B[q]+N[q],1-N[q]);
(9-7)判断是否C[q]<127且B[q]>0,是则转过程(9-8),否则转过程(9-9);
(9-8)更新C[q]、B[q]:
C[q]=C[q]+1,B[q]=min(B[q]-N[q],0);
(9-9)将更新的A[q]、B[q]、C[q]、N[q]分别写入A[]、B[]、C[]、N[]对应的四个双口随机存取存储器。
CN2009102734973A 2009-12-31 2009-12-31 一种卫星图像压缩方法及其实现装置 Active CN101771874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102734973A CN101771874B (zh) 2009-12-31 2009-12-31 一种卫星图像压缩方法及其实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102734973A CN101771874B (zh) 2009-12-31 2009-12-31 一种卫星图像压缩方法及其实现装置

Publications (2)

Publication Number Publication Date
CN101771874A true CN101771874A (zh) 2010-07-07
CN101771874B CN101771874B (zh) 2011-09-14

Family

ID=42504421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102734973A Active CN101771874B (zh) 2009-12-31 2009-12-31 一种卫星图像压缩方法及其实现装置

Country Status (1)

Country Link
CN (1) CN101771874B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931809A (zh) * 2010-07-29 2010-12-29 西安空间无线电技术研究所 航天器图像分解传输方法
CN102170568A (zh) * 2011-03-11 2011-08-31 山东大学 高光谱遥感图像的无损压缩编码器及其译码器
CN102438142A (zh) * 2011-11-08 2012-05-02 北京空间机电研究所 一种基于深空背景的自适应图像压缩方法
CN104486628A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种具有抗误码机制的帧间无损编码与智能解码方法
CN104486640A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种抗误码和丢包的信源编码与智能解码方法
CN105898305A (zh) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN106462936A (zh) * 2014-06-30 2017-02-22 英特尔公司 深度偏移压缩
CN106998472A (zh) * 2017-03-31 2017-08-01 华中科技大学 一种保持目标信息的压缩方法和系统
CN107181943A (zh) * 2017-04-18 2017-09-19 华中科技大学 一种基于混合熵编码的卫星序列图像无损压缩方法及系统
CN107961034A (zh) * 2016-10-19 2018-04-27 北京东软医疗设备有限公司 处理通道数据的方法及装置
CN108282662A (zh) * 2018-02-02 2018-07-13 武汉精测电子集团股份有限公司 一种连续色调静态图像压缩的优化方法及装置
CN108419080A (zh) * 2018-02-08 2018-08-17 武汉精测电子集团股份有限公司 一种jpegls上下文计算的流水线化优化方法及装置
CN108769697A (zh) * 2018-06-08 2018-11-06 武汉精测电子集团股份有限公司 基于时间交织流水线架构的jpeg-ls压缩系统及方法
CN109151482A (zh) * 2018-10-29 2019-01-04 西安电子科技大学 星载光谱图像谱段无损有损混合压缩方法
CN110647173B (zh) * 2019-10-10 2020-12-29 四川赛狄信息技术股份公司 一种视频跟踪系统及方法
CN113613001A (zh) * 2021-09-02 2021-11-05 沈阳航空航天大学 Ccsds标准下基于fpga的图像高速压缩方法及系统
CN113766238A (zh) * 2021-09-16 2021-12-07 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统
CN114063909A (zh) * 2021-10-25 2022-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 图片数据的智能分布式存储方法及系统
CN117097905A (zh) * 2023-10-11 2023-11-21 合肥工业大学 一种无损图像分块压缩方法、设备、存储介质
CN117437310A (zh) * 2023-12-21 2024-01-23 天津市第五中心医院 一种类器官培养图像压缩方法

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931809A (zh) * 2010-07-29 2010-12-29 西安空间无线电技术研究所 航天器图像分解传输方法
CN101931809B (zh) * 2010-07-29 2012-05-09 西安空间无线电技术研究所 航天器图像分解传输方法
CN102170568A (zh) * 2011-03-11 2011-08-31 山东大学 高光谱遥感图像的无损压缩编码器及其译码器
CN102170568B (zh) * 2011-03-11 2012-09-05 山东大学 高光谱遥感图像的无损压缩编码器及其译码器
CN102438142A (zh) * 2011-11-08 2012-05-02 北京空间机电研究所 一种基于深空背景的自适应图像压缩方法
CN106462936A (zh) * 2014-06-30 2017-02-22 英特尔公司 深度偏移压缩
CN106462936B (zh) * 2014-06-30 2020-04-14 英特尔公司 深度偏移压缩
CN104486628A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种具有抗误码机制的帧间无损编码与智能解码方法
CN104486628B (zh) * 2014-12-30 2017-03-08 华中科技大学 一种具有抗误码机制的帧间无损编码与智能解码方法
CN104486640B (zh) * 2014-12-30 2017-06-20 华中科技大学 一种抗误码和丢包的信源编码与智能解码方法
CN104486640A (zh) * 2014-12-30 2015-04-01 华中科技大学 一种抗误码和丢包的信源编码与智能解码方法
CN105898305A (zh) * 2016-04-12 2016-08-24 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
CN105898305B (zh) * 2016-04-12 2019-02-15 上海兆芯集成电路有限公司 基于无损联合图像专家小组格式的图像压缩与解压缩方法
TWI624808B (zh) * 2016-04-12 2018-05-21 上海兆芯集成電路有限公司 基於無損聯合圖像專家小組格式(jpeg-ls)的圖像壓縮方法
CN107961034A (zh) * 2016-10-19 2018-04-27 北京东软医疗设备有限公司 处理通道数据的方法及装置
CN106998472A (zh) * 2017-03-31 2017-08-01 华中科技大学 一种保持目标信息的压缩方法和系统
CN107181943A (zh) * 2017-04-18 2017-09-19 华中科技大学 一种基于混合熵编码的卫星序列图像无损压缩方法及系统
CN108282662B (zh) * 2018-02-02 2021-02-02 武汉精测电子集团股份有限公司 一种连续色调静态图像压缩的优化方法及装置
CN108282662A (zh) * 2018-02-02 2018-07-13 武汉精测电子集团股份有限公司 一种连续色调静态图像压缩的优化方法及装置
CN108419080A (zh) * 2018-02-08 2018-08-17 武汉精测电子集团股份有限公司 一种jpegls上下文计算的流水线化优化方法及装置
CN108769697B (zh) * 2018-06-08 2020-11-03 武汉精测电子集团股份有限公司 基于时间交织流水线架构的jpeg-ls压缩系统及方法
CN108769697A (zh) * 2018-06-08 2018-11-06 武汉精测电子集团股份有限公司 基于时间交织流水线架构的jpeg-ls压缩系统及方法
CN109151482B (zh) * 2018-10-29 2021-03-23 西安电子科技大学 星载光谱图像谱段无损有损混合压缩方法
CN109151482A (zh) * 2018-10-29 2019-01-04 西安电子科技大学 星载光谱图像谱段无损有损混合压缩方法
CN110647173B (zh) * 2019-10-10 2020-12-29 四川赛狄信息技术股份公司 一种视频跟踪系统及方法
CN113613001B (zh) * 2021-09-02 2023-05-19 沈阳航空航天大学 Ccsds标准下基于fpga的图像高速压缩方法及系统
CN113613001A (zh) * 2021-09-02 2021-11-05 沈阳航空航天大学 Ccsds标准下基于fpga的图像高速压缩方法及系统
CN113766238A (zh) * 2021-09-16 2021-12-07 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统
CN113766238B (zh) * 2021-09-16 2023-07-04 沈阳航空航天大学 Jpeg-ls无损压缩标准下基于fpga的图像高速压缩方法及系统
CN114063909A (zh) * 2021-10-25 2022-02-18 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 图片数据的智能分布式存储方法及系统
CN114063909B (zh) * 2021-10-25 2023-12-08 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 图片数据的智能分布式存储方法及系统
CN117097905A (zh) * 2023-10-11 2023-11-21 合肥工业大学 一种无损图像分块压缩方法、设备、存储介质
CN117097905B (zh) * 2023-10-11 2023-12-26 合肥工业大学 一种无损图像分块压缩方法、设备、存储介质
CN117437310A (zh) * 2023-12-21 2024-01-23 天津市第五中心医院 一种类器官培养图像压缩方法
CN117437310B (zh) * 2023-12-21 2024-02-27 天津市第五中心医院 一种类器官培养图像压缩方法

Also Published As

Publication number Publication date
CN101771874B (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
CN101771874B (zh) 一种卫星图像压缩方法及其实现装置
CN101534373B (zh) 基于改进jpeg-ls算法的遥感图像近无损压缩硬件实现方法
CN101031086B (zh) 视频信息编码方法及设备和视频信息解码方法及设备
CN1230001C (zh) 过滤数字视频图像的方法和相关装置
CN103581679B (zh) 解码行程编码数据的解码器和方法
CN101917622B (zh) 14bit位宽图像压缩硬件编码器
CN104838653A (zh) 使用差分传送进行的无损图像压缩
CN103404141A (zh) 使用变换的视频编码和解码
CN101404772B (zh) 基于小波变换的vlsi图像压缩编码器
CN101014124A (zh) 用于减少上下文自适应二进制算术编码存储需求的系统和方法
CN109040759B (zh) 一种图像并行压缩装置及方法
CN101379832A (zh) 处理视频数据
CN101176351A (zh) 动态缩放文件编码
CN1825964B (zh) 片上处理视频数据的方法和系统
CN109618157A (zh) 一种视频显示流压缩编码的硬件实现系统及方法
CN101742300B (zh) 一种低比特率星载图像压缩处理系统及方法
CN108134942A (zh) 用于对与变换系数相关联的比特流进行编码和解码方法
CN101365138A (zh) 一种jpeg2000图像压缩处理系统
CN104718753A (zh) 利用切片速率控制的有界率压缩
US20150146785A1 (en) Video decoder memory bandwidth compression
CN101841713B (zh) 降低编码码率的视频编码方法及系统
CN101267558A (zh) Jpeg2000标准中基于码块的低存储编码器及其编码方法
CN100539700C (zh) 图像编码方法和装置
CN100534188C (zh) 一种图像压缩方法和装置
CN104244010A (zh) 提高数字信号变换性能的方法及数字信号变换方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant