专利名称:一种多通道卫星图像无损压缩方法
技术领域:
本发明涉及一种多通道卫星图像无损压缩方法,包括编码和解码两部分,属于卫星遥感数据处理和图像压缩技术领域。
背景技术:
随着气象卫星技术的发展,我们每天可以获得巨量的卫星遥感资料,而且这些资料覆盖面广、空间分辨率高、时间连续性强,不受时间、天气状况等限制,在气象观测和天气预报中所起的作用也越来越重要。气象卫星一般带有多个光谱通道的辐射扫描仪,同时对地球表面不同光谱通道的辐射进行扫描,并生成多个记录文件。比如,我国的风云二号E星(FY-2E)搭载有5个光谱通道进行辐射扫描,分别称为4个红外通道(11 1、11 2、11 3、11 4)和I个可见光通道(VIS)。FY-2E卫星4个红外通道的数据量化等级为1024,即每个记录值的范围为O 1023,至少用10个二进制位表示;可见光通道的数据量化等级为64,相应的记录值范围为O 63,至少用6个二进制位表示 。气象业务部门对于FY-2E卫星图像资料的存储一直采用比较简单的非压缩方式,比如GPF格式卫星云图数据,一个GPF格式的文件动辄几兆甚至几十兆,这给资料存储和传输带来很多困难。GPF格式文件保存卫星图像数据时规定红外通道的每个记录值用一个16位二进制数表示(2个字节),可见光通道的每个记录值用I个8为二进制数表示(I个字节)。因此,现有的卫星图像数据文件相对于卫星观测的实际量化等级来说是存在压缩的可能性。对卫星图像进行压缩编码的目的是为了更方便的进行存储和传输,以便于更好地利用这些卫星遥感获得的珍贵资料,因此必须对卫星图像进行无损压缩。通过对卫星云图的对比观察发现,卫星云图灰度分布极其不均匀,往往集中在某一部分灰度范围内,而且不同通道之间的云图之间存在较强的相关性,尤其是光谱范围相邻的的通道,比如IRl通道和IR2通道的卫星云图相关性达到99%以上。因此,也存在利用信息分布不均匀性和通道相关性对多通道卫星图像进行压缩的可能性。
发明内容
本发明所要解决的技术问题在于克服现有技术不足,提供一种多通道卫星图像无损压缩方法,利用信息分布不均匀性和通道之间的相关性对多通道卫星图像进行无损压缩,从而获得更高的压缩比。本发明的多通道卫星图像无损压缩方法,包括卫星图像的编码和解码,所述编码包括以下步骤
步骤Al、对卫星各通道的原始图像G分别进行无损压缩编码,得到编码序列记为/ζ.,,编码参数记为/;.,,平均码长记为Zi,, i=V..n,n为卫星的图像通道数;
步骤A2、对任意两个通道的原始图像做差运算,得到的差图像记为为两幅做差运算图像的通道编号;步骤A3、对得到的各差图像分别进行无损压缩编码,得到的编码序列记为//",编码参数记为Tij,平均码长记为Lij, i, j=l'''n且i古j ·,
步骤A4、求所有已编码图像中最小的平均码长,记为Zrt7=Iiiin i=L···/ };
步骤A5、将尽,,/;,,放入存储队列S,即S二 {Ht0, TJ ;
步骤 A6、令 J={1, 2,…, M={t};
步骤A7、求剩余已编码图像中最小的平均码长,Z/7<7=min{ Li0, Lij \i ^ KJ ^ M };步骤AS、若7=0,则将第/7个通道的图像 的编码序列&、编码参数7;,放入存储队列&即S二S U {Ht0, TJ ;然后转步骤AlO ;
步骤Α9、若- 0,则将第a q两个通道的差图像的编码序列编码参数Tpq放入存储队列A即S二S U \Hpq, TJ ;然后转步骤AlO ;
步骤 A10、#= K - {p} ,M= M U {p}
步骤Al I、若#不为空集,转步骤A7 ;否则转步骤A12 ;
步骤A12、将当前存储队列S中的数据作为压缩后的数据进行存储或传输;
所述解码包括以下步骤
步骤BI、从压缩后的数据中读取出所有的编码序列和编码参数;
步骤B2、找出所有由原始图像直接无损压缩编码得到的编码序列/Trt7,根据所对应的编码参数Ti0对其直接进行无损压缩解码,得到原始图像Ci ;
步骤B3、令#={i|编码序列/^存在}为已经得到原始图像的通道组成的集合,^={1,2,为尚未解码的通道的集合;
步骤B4、找第一个^^,使得^^存在且/7
步骤B5、根据所对应的编码参数Tpq %Hpq进行无损压缩解码,得到;
步骤B6、将已解码的原始图像CADm作和运算,得到第/7个通道的原始图像Cp ;
步骤 B7J= K- {/ },#=# U {p}
步骤B8、若#不为空集,转步骤B4 ;否则转步骤B9 ;
步骤B9、得到所有/7个通道的原始图像。上述技术方案中,所述无损压缩编码/解码可采用各种现有的无损压缩编码方法,例如香农-范诺编码、算数编码、RLE编码等,本发明优选哈夫曼编码。哈夫曼编码是Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的二进制码字,对信号进行无损压缩,且压缩率接近信号的熵,因此有时称之为最佳编码。相比现有技术,本发明具有以下有益效果
本发明方法充分利用了不同通道之间卫星云图的相似性,先求图像的差,再进行压缩编码,减少了不同码字的个数,从而提高压缩比,本发明的平均压缩比可以达到2以上,t匕现有方法可以节省一半以上的存储空间;本发明利用哈夫曼编码方法作为主要的编码方法,既保证了编码的高压缩比,同时也保证了数据的无损压缩,有利于以后完整地利用卫星云图提供的信息。
图I为本发明方法的编码流程示意图;图2为本发明方法的解码流程示意 图3为哈夫曼编码的原理示意图
图4为采用本发明方法对FY-2C卫星图像进行编码的过程示意 图5为采用本发明方法对FY-2C卫星图像进行解码的过程示意图。
具体实施例方式下面结合附图对本发明的技术方案进行详细说明
本发明的思路是针对多通道卫星图像数据,在现有无损压缩编码技术的基础上,充分利用不同通道之间卫星云图的相似性,先求图像的差,再进行无损压缩编码,减少了不同码字的个数,从而提高压缩比。下面以哈夫曼编码为例,来对本发明技术方案进行详细说明。本发明分成编码和解码两个部分。对具有/7个通道的卫星图像进行编码的时候,首先根据哈夫曼编码的平均码长决定是直接对卫星云图本身进行哈夫曼编码,还是将该通道的图像与其他通道做差运算,然后再对差图像进行哈夫曼编码,其编码过程如图I所示,包括以下步骤
(I. I)对卫星每个通道的图像,记为G,进行哈夫曼编码,得到哈夫曼编码序列记为Hi0,哈夫曼码表记为Ti0,平均码长记为Li0, i=l…η ;
(I. 2)对任意两个通道的卫星图像做差运算,得到的差图像记为A.,.,Dij(Xfr)=Ci(^r)-Cj {x, y), , J为通道编号,X,y为图像坐标;
(I. 3)对差图像进行哈夫曼编码,得到的哈夫曼编码序列记为//",哈夫曼码表记为Tw平均码长记为Lij, i, j=l'''n且i # j '
(1.4)求所有哈夫曼编码中最小的平均码长,记为Zrt7=IiiinlZii71 i=L···/ };
(I. 5)将^,/;,,放入存储队列S,即S二 {Ht0, TJ (I. 6)令 J={1, 2,…, M={t};
(I. 7)求剩余通道图像哈夫曼编码以及差图像的哈夫曼编码中平均码长最小的结果,Lpq=min { Lm Lij \i ^ K, j ^ M };
(1.8)若7=0,说明对第/7个通道的图像直接进行哈夫曼编码的平均码长比较短,应直接存储该图像的哈夫曼编码,则将&,&,放入存储队列&即S=S U \Ht0, TJ ;转(I. 10)
I K
少;
(I. 9)若^ # 0,说明第a Q两个通道的差图像的平均码长比较短,存储该差图像的哈夫曼编码,则将&,&,放入存储队列&即S二S U \Hpq, TJ ;转(I. 10)步;
(I. IQ)K= K - {p} ,M= M U {p}
(I. 11)若#不为空集,转(I. 7)步;否则转(I. 12)步;
(I. 12)将S中所有的哈夫曼编码/Tr7及码 表Tij存储到云图数据文件中。对压缩云图的解压缩过程首先要根据存储的数据判断该哈夫曼编码序列是由原始图像直接编码得来的,还是由差图像编码得来的。若是原始图像编码得来的,则直接解码得到原始图像,若是由差图像编码来的,解码后还需与相应的图像做和运算才能得到原始的图像。其解码过程如图2所示,具体包括以下步骤
(2. I)从云图数据文件中读取所有的//",Tij ;(2. 2)找出所有由云图原始图像直接编码得到的编码序列/Trt7,直接解码得到G ;
(2. 3)令#={i I编码序列存在}为已经得到原始图像的通道组成的集合,和{1,2,…,/ }_#为尚未解码的通道的集合;
(2. 4)找第一个使得存在且P
(2. 5)根据Tm %Hpq进行哈夫曼解码,得到Dpi ;
(2.6)计算原始图像_7) = Dpq {x, y) + Cq {x, y);
(2. 7)K= K - {p} ,M= M U {p}
(2. 8)若#不为空集,转(2. 4)步;否则转(2. 9)步;
(2.9)所有通道的图像均已得到,算 法结束。其中,对两个图像进行差/和运算,就是对两个图像中对应像素点的值做差/和运算,可表示为-.Dij {x, y) 二C1 {x, y) - Cj {x, y), Dij {x, y) =Ci {x, y) +Cj {x, y), i, J 为通道编号,Ur)为图像中像素点的坐标。哈夫曼编码算法为现有技术,主要包括以下步骤1)统计图像中每个灰度值出现的概率,按灰度出现的概率从大到小排列;2)把最小的两个概率相加合并成新的概率,与剩余的概率组成新的概率集合;3)对新的概率集合重新排序,再次把其中最小的两个概率相加,组成新的概率集合,如此重复进行,直到最后两个概率的和为I ;4)分配码字码字的分配从最后一步开始反向进行,对于每次相加的两个概率一个赋予“O” 一个赋予“ I ”,读出时由每个灰度值的概率值开始一直走到最后的概率和“1”,将路线上遇到的“O”和“I”按低位到高位的顺序排列,即可得到每个灰度值的哈夫曼编码。例如对一个包含6个不同信号的信源进行哈夫曼编码,每个信号的出现概率和最后编码结果如表I所示,编码过程如图3所示。表I
权利要求
1.一种多通道卫星图像无损压缩方法,包括卫星图像的编码和解码,其特征在于,所述编码包括以下步骤 步骤Al、对卫星各通道的原始图像G分别进行无损压缩编码,得到编码序列记为/ζ.,,编码参数记为/;.,,平均码长记为Zi,, i=V..n,n为卫星的图像通道数; 步骤A2、对任意两个通道的原始图像做差运算,得到的差图像记为为两幅做差运算图像的通道编号; 步骤A3、对得到的各差图像分别进行无损压缩编码,得到的编码序列记为//",编码参数记为Tij,平均码长记为Lij, i, j=l'''n且i古j ·, 步骤A4、求所有已编码图像中最小的平均码长,记为Zrt7=Iiiin i=L···/ }; 步骤A5、将尽,,/;,,放入存储队列S,即S二 {Ht0, TJ ; 步骤 A6、令 J={1, 2,…, M={t}; 步骤A7、求剩余已编码图像中最小的平均码长,Z/7<7=min{ Li0, Lij \i ^ KJ ^ M };步骤AS、若7=0,则将第/7个通道的图像 的编码序列&、编码参数7;,放入存储队列&即S二S U {Ht0, TJ ;然后转步骤AlO ; 步骤Α9、若- 0,则将第a q两个通道的差图像的编码序列编码参数Tpq放入存储队列A即S二S U \Hpq, TJ ;然后转步骤AlO ;步骤 A10、#= K - {p} ,M= M U {p} 步骤Al I、若#不为空集,转步骤A7 ;否则转步骤A12 ; 步骤A12、将当前存储队列S中的数据作为压缩后的数据进行存储或传输; 所述解码包括以下步骤 步骤BI、从压缩后的数据中读取出所有的编码序列和编码参数; 步骤B2、找出所有由原始图像直接无损压缩编码得到的编码序列/Trt7,根据所对应的编码参数Ti0对其直接进行无损压缩解码,得到原始图像Ci ; 步骤B3、令#={i|编码序列/^存在}为已经得到原始图像的通道组成的集合, 1,2,为尚未解码的通道的集合; 步骤B4、找第一个^^,使得^^存在且/7 步骤B5、根据所对应的编码参数Tpq %Hpq进行无损压缩解码,得到; 步骤B6、将已解码的原始图像CADm作和运算,得到第/7个通道的原始图像Cp ; 步骤 B7J= K- {/ },#=# U {p} 步骤B8、若#不为空集,转步骤B4 ;否则转步骤B9 ; 步骤B9、得到所有/7个通道的原始图像。
2.如权利要求I所述多通道卫星图像无损压缩方法,其特征在于,所述无损压缩编码/解码为哈夫曼编码/解码。
全文摘要
本发明公开了一种多通道卫星图像无损压缩方法,属于卫星遥感数据处理和图像压缩技术领域。本发明针对多通道卫星图像数据,在现有无损压缩编码技术的基础上,充分利用不同通道之间卫星云图的相似性,先求图像的差,再进行无损压缩编码,减少了不同码字的个数,从而提高压缩比。本发明对多通道卫星图像的平均压缩比可以达到2以上,比现有方法节省一半以上的存储空间。
文档编号H04N7/26GK103227920SQ20131011457
公开日2013年7月31日 申请日期2013年4月3日 优先权日2013年4月3日
发明者费文龙, 吕红 申请人:南京信息工程大学