CN101420608B - 一种实现数据解码的方法和装置 - Google Patents

一种实现数据解码的方法和装置 Download PDF

Info

Publication number
CN101420608B
CN101420608B CN 200710167313 CN200710167313A CN101420608B CN 101420608 B CN101420608 B CN 101420608B CN 200710167313 CN200710167313 CN 200710167313 CN 200710167313 A CN200710167313 A CN 200710167313A CN 101420608 B CN101420608 B CN 101420608B
Authority
CN
China
Prior art keywords
plane
bit
threshold value
bit plane
decoding
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.)
Expired - Fee Related
Application number
CN 200710167313
Other languages
English (en)
Other versions
CN101420608A (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.)
MAINTENANCE Co OF STATE GRID XINJIANG ELECTRIC POWER Co
State Grid Corp of China SGCC
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 CN 200710167313 priority Critical patent/CN101420608B/zh
Publication of CN101420608A publication Critical patent/CN101420608A/zh
Application granted granted Critical
Publication of CN101420608B publication Critical patent/CN101420608B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例中公开了一种实现位平面解码的方法,该方法包括接收经位平面编码的至少一个位平面数据流;对每个所述位平面数据流进行位平面解码;从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据进行补偿。本发明实施例中还公开了一种实现位平面解码的装置,该装置包括接收单元、位平面解码单元、执行单元,应用本发明提高解码后的数据质量。

Description

一种实现数据解码的方法和装置
技术领域
本发明涉及数据压缩技术,特别涉及一种实现数据解码的方法和装置。
背景技术
数据压缩技术就是在满足一定保真要求下用较少的存储空间存储较大的数据信息。该项技术一般涉及到变换、量化编码等多个步骤,在量化编码时,常采用位平面编码方式,具体的讲,先对设定出位平面编码扫描时采用的最大位平面阈值,然后,根据设定的位平面阈值选择出部分数据,构成相应的位平面,再将当前的位平面阈值设置成原来的一半,重复选择数据的步骤,直到达到存储空间或数据质量要求。由于存储空间有限,在数据质量允许的前提下,常会截断某些位平面,只选择出大部分数据进行后续处理。
比如,在如图1所示的图像压缩和解压缩过程中,主要包括以下步骤:在发送端,原始图像首先经过离散数学变换得到变换系数矩阵,接着,对变换系数矩阵进行位平面编码,也就是基于位平面扫描的变换系数编码,在经过熵编码后,发送到接收端;而在接收端,则将接收到的码流先经过熵解码后,再进行基于位平面扫描的变换系数解码,最后经离散数学反变换得到重构图像。这里,接收到的码流由至少一个位平面数据流组成,由于接收到的码流是经过量化或在传输过程中有位平面数据流丢失的,因而解压缩后得到的重构图像有一定的图像失真。下面离散数学变换以小波变换为例,位平面编码以层次树中集分割(SPIHT,set partitioning in hierarchical trees)算法编码为例,具体说明图像压缩和解压缩的过程。
在发送端,首先,对原始图像进行小波变换或称为小波分解,得到由小波系数ci,j构成的小波系数矩阵[ci,j],其中ci,j表示在小波系数矩阵中(i,j)坐标上,也就是,第i行,第j列上的小波系数的幅度值,小波系数可认为是各图像信息在各频点位置上的权重,在小波系数矩阵[ci,j]的左上角存放了表征图像的低频信息的小波系数,向右和向下分别存放表征图像更高频率信息的小波系数,因而,在右下角存放的为表征横向和纵向的最高频率信息的小波系数,而对于一个图像来说,表现一个图像的最主要的部分是低频部分,因而,在小波系数矩阵中,表征低频图像信息的小波系数的幅度值比较大。因而,应用小波变换进行图像压缩的过程,可以归结为在图像的小波分解域内对小波系数进行量化的过程。
接着,对小波变换的得到的小波系数进行量化编码,在这个步骤中,首要解决的问题就是用更少的位来存储小波系数并尽量保证重建质量。在图1所示的图像压缩过程中,对小波系数采用层次树中集分割(SPIHT,set partitioning in hierarchical trees)算法来进行量化编码。SPIHT算法不对所有系数进行排序,而是按照一种规则选择发送重要(significant)的小波系数ci,j,这里,重要的定义是:给定的n,如果|ci,j|≥2n,就称小波系数ci,j是重要的,否则就称小波系数ci,j是不重要的(insignificant),式中的2n为预先设定的扫描阈值,也可认为是位平面阈值。SPIHT算法编码将小波系数矩阵中的元素,分别存在三种集合中,即不重要的系数集表(LIS,List of Insignificant Sets)、不重要的系数表(LIP,List of Insignificant Pixels)和重要的系数表(LSP,List ofSignificant Pixels),具体的编码过程包括以下步骤:
第一步,初始化过程:设置初始的阈值N=log2 max|ci,j|和LSP、LIP和LIS的初始状态,即将LIP设置为空集,在LIP和LIS中存放小波系数;
第二步,扫描排序过程:根据设定的当前扫描阈值T=2n,检查LIP和LIS中所有的小波系数的重要性,如果重要,就搬移到LSP中,得到LSP、LIP和LIS的当前状态,并输出“1”及其符号位,其中正、负小波系数的符号位分别采用“1”和“0”表示,如果不重要,则仅输出0,得到该扫描阈值下的排序扫描位流;比如,在当前扫描阈值T=32时,绝对值大于等于32的小波系数会被移入LSP表中,并且输出“1”及其符号位。
第三步:精细扫描过程:对于LSP中的每个表项(i,j),若(i,j)不是在刚刚进行过的扫描过程中新添加的表项,则输出|ci,j|的第n个最重要的位,得到该扫描阈值下的精细扫描位流或精细扫描表,这个过程是对输出数据做进一步精确表示的过程,以达到更好的精度。比如,LSP中的某个表项(i,j)的小波系数绝对值等于49,其高位的第五位和第四位均为“1”,因而该表项(i,j)在扫描阈值T=32时被添加到LSP中,而在当前扫描阈值变为T=16时,本步骤中输出高位的第四位作为精细扫描位,相当于增加了一个二进制位数来表示小波系数,因而该小波系数当前的编码值为32+16=48。
第四步:将当前扫描阈值设置为原来的一半,即2n-1,利用LSP、LIP和LIS的当前状态,重新执行第二步,进行下一次编码扫描,直到达到预先设置的扫描阈值。
最后,将编码后的数据经过熵编码和算术编码后,传输到接收端。
由SPIHT算法编码的过程可以看出,由原始图像得到的小波矩阵并没有一次被传输到接收端,而是通过多次扫描从小波矩阵中依次选择出重要的小波系数,同时对已选择出的小波系数做更进一步的精确表示,从而得到对应每次扫描的输出码流,这些码流即为位平面数据流,而每次扫描时采用的扫描阈值为位平面数据流对应的位平面阈值。扫描次数越多,产生的位平面数据流越多,接收端解码得到数据越精确。但是由于存储空间有限,常会通过设置最小扫描阈值来截断低位平面,而只选择出大部分数据进行熵编码和算术编码,并输入到接收端,这里,也可以设置最高编码码率来控制位平面个数。
目前,在接收端,常采用与发送端相对应的逆过程,即先将接收到的数据进行相应的算术解码和熵解码;接着,根据位平面编码的方法对接收到的位平面数据流进行位平面解码,这里,在经SPIHT算法编码后,解码器能够获取来自发送端的编码器初始扫描阈值N=log2 max|ci,j|和LSP、LIP和LIS的初始状态信息,因而能够根据接收到的排序扫描位流和精细扫描位流,解码得到经过低位平面截断后的小波系数矩阵,最后,由解码得到的截断低位平面的小波系数矩阵进行小波逆变换,重建出图像。
在上述图像压缩过程中,由于存储空间的限制和要求,并不是将所有的数据的位平面都进行位平面编码,也就是说,在上述数据压缩过程中,只传输了较高位平面的数据而放弃较低位平面的数据,因而丢失了部分数据信息,造成了数据损失,而在接收端的解压缩过程中,由于没有对这些丢失的信息进行适当的补偿,因而使得位平面解码后的数据误差较大,图像质量变差。
由以上的分析,可以看出,在数据解压缩时,目前采用的对位平面编码后的码流进行解码的方法,会使得解码后的数据误差较大。
发明内容
本发明实施例提供两种实现数据解码的方法,该方法能够减小解码后的数据误差。
本发明实施例还提供两种实现数据解码的装置,该装置能够减小解码后的数据误差。
为达到上述发明目的,本发明实施例的技术方案具体是这样实现的:
一种实现位平面解码的方法,该方法包括:
接收经位平面编码的至少一个位平面数据流,每个所述位平面数据流对应一个位平面阈值;对每个所述位平面数据流进行位平面解码;从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据流进行补偿;
所述根据最小位平面阈值,对解码得到数据流进行补偿具体包括:由所述最小位平面阈值计算得到补偿值,将所述解码后得到的数据流中所有非零数据,均加上所述补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算补偿值的过程包括:由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面,再由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
一种实现位平面解码的方法,该方法包括:
根据接收到的位平面阈值的最大值,由预先设置的进制数,确定出应接收到的位平面数据流的最大数;接收经位平面编码的至少一个位平面数据流,每个所述位平面数据流对应一个位平面阈值;对每个所述位平面数据流进行位平面解码;判断所述接收到的位平面数据流个数是否小于所述应接收到的位平面数据流的最大值,如果是,从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据流进行补偿,否则不进行补偿,所述根据最小位平面阈值,对解码得到数据流进行补偿包括:由所述最小位平面阈值计算得到补偿值,将所述解码后得到的数据流中所有非零数据,均加上所述补偿值,所述补偿值的符号与非零数据的符号相同;所述计算补偿值的过程包括:由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面,再由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
一种实现位平面解码的装置,该装置包括:
接收单元,用于接收经位平面编码后的至少一个位平面数据流;
位平面解码单元,用于对所述接收单元接收到的各个所述位平面数据流进行位平面解码;
最小阈值确定单元,用于从所述接收单元接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值;
补偿单元,用于所述确定模块得到的位平面数据流对应的最小位平面阈值,对所述位平面解码单元解码得到的数据进行补偿;
所述补偿单元包括:
计算模块,用于由所述最小阈值确定单元确定出的最小位平面阈值计算得到补偿值;
叠加模块,用于对所述位平面解码单元得到的数据流中所有非零数据,均加上所述计算模块得到的补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算模块包括:
最低位平面计算子模块,用于由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面;
补偿值确定子模块,用于由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
一种实现位平面解码的装置,该装置包括:
接收单元,用于接收经位平面编码后的至少一个位平面数据流和位平面阈值的最大值;
位平面解码单元,用于对所述接收单元接收到的各个所述位平面数据流进行位平面解码;
最大数据流确定单元,用于根据所述接收单元接收到的位平面阈值的最大值,确定出应接收到的位平面数据流的最大数;
判断单元,用于判断所述接收单元接收到的位平面数据流的个数是否小于所述确定模块确定的位平面数据流的最大数,将判断结果输入到最小阈值确定单元;
最小阈值确定单元,用于在判断单元的判断结果表明接收到的位平面数据流的个数小于确定的位平面数据流的最大数时,从所述接收单元接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值,并将所述最小位平面阈值传送给补偿单元,否则,直接输出位平面解码单元解码得到的数据流;
补偿单元,用于所述确定模块得到的位平面数据流对应的最小位平面阈值,对所述位平面解码单元解码得到的数据进行补偿;
所述补偿单元包括:
计算模块,用于由所述最小阈值确定单元确定出的最小位平面阈值计算得到补偿值;
叠加模块,用于对所述位平面解码单元得到的数据流中所有非零数据,均加上所述计算模块得到的补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算模块包括:
最低位平面计算子模块,用于由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面;
补偿值确定子模块,用于由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
由上述技术方案可见,本发明实施例的一种实现数据解码的方法和装置,在对经过截断位平面数据流解码后,根据最小平面阈值对解码后得到的数据流进行补偿,来减少因位平面被截断所带来的解码数据误差,进而能够提高解码后的数据效果、图像质量等。
附图说明
图1为现有技术中图像压缩及解压缩的过程示意图;
图2为本发明第一个实施例提供的实现数据解码的装置结构示意图;
图3为本发明第二个实施例提供的实现数据解码的方法流程示意图;
图4为本发明第三个实施例提供的实现图像解码的方法流程示意图;
图5为本发明第三个实施例中使用的原始系数矩阵;
图6为本发明第三个实施例中解码得到的小波系数矩阵;
图7为本发明第三个实施例中补偿后的小波系数矩阵。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明实施例提供的一种实现位平面解码方法是:接收经位平面编码的至少一个位平面数据流;对各个位平面数据流进行位平面解码;根据各个位平面数据流对应的最小位平面阈值,对解码得到的数据进行补偿;输出补偿后的数据。
本发明实施例提供的一种实现位平面解码方法是:根据接收到的位平面阈值的最大值,由预先设置的进制数,确定出应接收到的位平面数据流的最大数;接收经位平面编码的至少一个位平面数据流,每个所述位平面数据流对应一个位平面阈值;对每个所述位平面数据流进行位平面解码;判断所述接收到的位平面数据流个数是否小于所述应接收到的位平面数据流的最大值,如果是,从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据流进行补偿,否则不进行补偿。
以下举三个实施例对本发明进行详细说明:
图2为本发明第一实施例中提供的装置结构示意图。具体包括:接收单元210、位平面解码单元220、最小阈值确定单元230、补偿单元240、最大数据流确定单元250和判断单元260。
具体地,接收单元210,用于接收经位平面编码后的至少一个位平面数据流和位平面阈值的最大值。
位平面解码单元220,用于对接收单元210接收到的至少一个位平面数据流进行位平面解码,得到解码后的数据流。
最小阈值确定单元230,从接收单元210接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值。
补偿单元240根据最小阈值确定单元240得到的位平面数据流对应的最小位平面阈值,对位平面解码单元220解码得到的数据流进行补偿。
最大数据流确定单元250,根据接收单元210接收到的位平面阈值的最大值,确定出应接收到的位平面数据流的最大数。
判断单元260,判断接收单元210接收到的位平面数据流的个数是否小于最
大数据流确定单元250确定出的位平面数据流的最大数,将判断结果输入到最
小阈值确定单元230。
在这种情况下,最小阈值确定单元230会在判断单元260输入的判断结果表明接收到的位平面数据流的个数小于应接收到的位平面数据流的最大数时,从接收单元210接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值。补偿单元240才会对位平面解码单元220解码得到的数据流进行补偿,否则,直接输出位平面解码单元220解码得到的数据流,不进行补偿。
当然,本实施例可以不包括对位平面丢失做判断的确定单元240和判断单元250,而只包括接收单元210、位平面解码单元220、最小阈值确定单元230和补偿单元240,这时,可能会对解码后的数据流进行零补偿,也就是计算得到的补偿值为零。
补偿单元240包括计算模块241和叠加模块242计算模块由最小阈值确定单元230确定出的最小位平面阈值计算得到补偿值;叠加模块242,对位平面解码单元220得到的数据流中所有非零数据,均加上计算模块241得到的补偿值,该补偿值的符号与非零数据的符号相同。
计算模块241包括:最低位平面计算子模块和补偿值确定子模块。
最低位平面计算子模块243,由预先设置的进制数,计算出最小阈值确定单元230确定出的最小位平面阈值所对应的位平面,将位平面减一得到最低位平面。
补偿值确定子模块244,由预先设置的进制数,计算出最低位平面计算子模块243得到的最低位平面所对应的位平面阈值,选取小于最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
图3为本发明第二个实施例提供的实现数据解码的方法流程示意图,如图3所示,具体包括以下步骤:
步骤301:接收到来自发送端的位平面阈值的最大值N。
本实施例中,预先设置进制数为二进制,则位平面阈值为2的整数次幂如,32、16等。
步骤302:接收来自发送端的经位平面编码的位平面数据流。
步骤303:根据接收到的位平面阈值的最大值,确定出应接收到的位平面数据流的最大数。
由于一个位平面数据流对应一个位平面,因而根据预先设置的进制数,由最大位平面阈值N,可以确定出位平面总数,即应接收到的位平面数据流最大数为m=log2 N个,比如,接收到的最大位平面阈值为32时,在接收端应接收到的位平面数据流最大数应为5个。
下面对接收到的位平面数据流进行反向位平面解码,具体步骤为:
步骤304:将当前位平面阈值T设定为N。
步骤305:按照位平面编码逆过程反向解码。
步骤306:判断是否用完所有的解码信息,如果是,执行步骤307,否则,令当前位平面阈值T=T/2,执行步骤305。
这里,解码信息为来自发送端的信息,比如,编码后的码流、编码时产生的列表等。当所有解码信息被用完时,表示对所有接收到的位平面数据流均完成解码,这时记录下来当前位平面阈值T,如果位平面是按重要性传输到接收端,则解码完成时记录的当前位平面阈值就是最小位平面阈值。
步骤307:结束解码,记录当前位平面阈值T。
步骤308:判断接收到的位平面数据流的个数是否小于应接收到的位平面数据流的最大数,如果是,执行步骤309,否则,执行步骤310。
当接收到的位平面数据流的个数小于应接收到的位平面数据流的最大数时,表明接收端解码得到的为经过位平面截断的数据流。因而,需要对解码得到的数据流进行补偿,否则,不执行补偿的步骤。
步骤309:根据最小位平面阈值,对解码得到数据进行补偿。
进行补偿的方法是:将解码后得到的数据流中的所有非零数据,均加上一个补偿值。该补偿值由最小位平面阈值确定,其确定的方法为:由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面,再由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数作为计算得到的补偿值,并且补偿值的正负号与非零数据的符号相同。
步骤310:输出数据。
本发明实施例通过对解码后得到的数据流进行补偿,能够减少因位平面被截断带来的解码数据误差,从而能够提高解码后的数据效果。
图4为本发明第三个实施例提供的实现图像解码的方法流程示意图,如图4所示,本实施例中,假设采用SPIHT算法对数据进行量化编码,并假设量化编码后的数据经算术编码和熵编码后,发送到接收端。因而在接收端,先对接收到的码流进行算术解码,然后,对算术解码后的码流进行熵解码,接着,对熵解码后的码流进行SPIHT逆变换,最后,由SPIHT逆变换后的小波系数进行小波逆变换得到重建的图像。其中,SPIHT逆变换也就是SPIHT解码过程,由SPIHT的编码算法可知,小波系数按照重要性的顺序依次传输的,为了满足压缩倍数或传输需要,部分低位平面的数据丢失,使得用于解码后得到的小波系数Fi是由编码前的小波系数Fi0截取部分低位平面后得到的,也就是说,将小波系数Fi0中的非重要小波系数全量化为零,得到小波系数Fi,这里为表示的方便将编码前的小波系数表示为Fi0,将经位平面编码并截断位平面的小波系数表示为Fi
首先,根据图像的峰值信噪比PSNR的定义,如公式(1)所示:
PSNR = 10 log 10 255 * 255 MSE
and MSE = 1 N Σ i = 1 N ( f i 0 - f i ) 2 - - - ( 1 )
其中fi0和fi分别是原始图像的像素值和重建图像的像素值,N是总的像素点,MSE为fi0和fi的均方差平均值。
将小波系数矩阵看作广义的图像,借用公式(1)的定义,给出小波系数矩阵的峰值信噪比PSNR′的定义,如公式(2)所示:
PSNR ′ = 10 log 10 C * C MSE
MSE ′ = 1 N Σ i = 1 N ( F i 0 - F i ) 2 - - - ( 2 )
其中Fi0和Fi分别是由原始图像经小波变换得到的小波系数原始图像的像素值和将经位平面编码并截断位平面的小波系数,N是小波系数总数,MSE′为Fi0和Fi的均方差平均值。C是任意常数,这里取小波系数中的最大值,其实这个值的选取只是为了让PSNR1为正,对于衡量小波系数损失程度不起作用。
如果假设编码端的原始图像得到的小波系数Fi0的后n位平面被截断得到的解码小波系数Fi,不失一般性考虑Fi0和Fi都为正,那么Fi0可表示成公式(3)即:
Figure GSB00000220618200121
这里,
Figure GSB00000220618200122
为Fi后面n-1位截断值,(1<<i)表示从第1位到i位依次移位得到。由于
Figure GSB00000220618200123
小于Fi,因而可得到Fi≤Fi0<Fi×2。由小波系数的峰值信噪比的定义式,可知,为了增大峰值信噪比,就是要减少|Fi0-Fi|。可以对每个解码小波系数Fi加上一个量Fic,来达到增大小波系数的峰值信噪比的目的,改写后的峰值信噪比的定义式如公式(4)所示:
PSNR ′ ′ = 10 log 10 C * C MSE
MSE ′ ′ = 1 N Σ i = 1 N ( F i 0 - F i - F ic ) 2 - - - ( 4 )
在对于Fic的选取时,应尽量使补偿值的平均值等于丢失的数据的平均值。为方便操作,可以采用较为简单但有效的方法就是取Fic=2(bits-1),这时,bits为被量化掉或丢失的位平面数,而由SPIHT编码过程知,被量化掉或丢失的位平面的个数应等于位平面阈值的最小值对应的位平面减一,比如,位平面阈值的最小值为32,由log232=5可知,其对应第五位平面,第五位平面数据流能够正确解码,而位平面阈值为16对应的第四位平面被截断,此时,可称为第四位平面为最低位平面,因而补偿值应为2(4-1)=8。另外,本发明实施例,只对大于等于最小位平面阈值进行补偿,如公式(5)所示。
就是Fi≥(1<<(n-1))时认为Fic=Fi×0.5,由公式(3)得到公式(6):
a i = 1 i = n - 1 0 i = n - 2 , n - 3 , . . . , 0 - - - ( 6 )
这样,-Fi×0.5≤Fi0-Fi-Fic<Fi×0.5,那么在统计意义上可以很大的程度上减小|Fi0-Fi|。
本发明实施例中的SPIHT解码过程,具体包括以下步骤:
步骤401:从头信息中读到要解压缩图像的长宽,并初始化小波系数矩阵,将其置零。
步骤402:初始化三个控制表LIS、LIP、LSP。
步骤403:从头信息中读到最大的扫描阈值赋给T。
步骤404:读入排序位流数据,按照编码逆过程反向解码。
本实施例中,步骤404为排序扫描过程,具体为:先读入的信息对LIP中的每个表项顺次进行处理,对LIS中每个表项顺次进行处理,根据LIS、LIP判断所对应与小波矩阵中的位置,这个过程和编码过程是相反的,并依据位流维护LSP,将新的数据加到LSP中。
步骤405:从精细扫描表读取精细扫描位流数据,修改LSP中相应小波系数的重构值。
本实施例中,步骤404为精细扫描过程,同样也是依据精细扫描位流在对应的数据上加上当前阈值来得到新的LSP也就是得到小波系数的重构值。
步骤406:重新设置当前扫描阈值T=T/2。
步骤407:判断是否所有需要解码的信息都处理完,如果是,停止解码,否则,执行步骤402。
本实施例中,由于采用SPIHT算法,位平面数据流是按照重要性顺序传输到接收端,因而当解码停止时,由步骤406得到的当前扫描阈值对应的幂指数即为被截断的位平面数。
步骤408:对解码得到的所有绝对值大于或等于当前扫描阈值T的小波系数加上T/2。
本实施例中,只对绝对值大于或等于当前扫描阈值的小波系数进行补偿,由公式(6)将选取补偿值为:步骤406得到的当前扫描阈值的一半。当然也可以选择小于步骤406得到的当前扫描阈值的数值。
为了便于理解,下面给出一个简单的例子来说明从本发明实施例实现位平面解码的过程。
假设,原始系数矩阵如图5所示,图5为本发明第三个实施例中使用的原始系数矩阵。SPIHT解码器第一次编码为解码器提供的信息如下:
位流S5:{1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0}
精细扫描表:空集
初始n:n=5
控制表初始化信息:
LIP={(0,0),(0,1),(1,0),(1,1)}
LIS={(0,1)D,(1,0)D,(1,1)D},其中,(i,j)D表示具有非零的子孙系数的坐标(i,j),对于坐标(i,j)而言,其子孙系数的坐标为(2i,2j)、(2i,2j+1)、(2i+1,2j)和(2i+1,2j+1),由于编码时定义(0,0)没有子孙系数,因而在该例中LIS中只在三个元素。
LSP={ },即设置LSP为空集。
解码器的执行过程具体为:
第一步:排序扫描过程:设定阈值T=25=32,对LIP中的每个表项按照SPIHT编码的逆过程顺次进行处理,接着对LIS中每个表项按照SPIHT编码的逆过程顺次进行处理。
第二步:精细扫描过程:从精细扫描表中读取位数据,修改LSP中相应的重要小波系数的重构值。对于阈值T=2n,当一个坐标(i,j)移到LSP中时,这表明,2n≤|ci,j|<2n+1再由随后输入的符号位信息,可获得坐标(i,j)上重要小波系数的重构值
Figure GSB00000220618200151
然后进一步根据精细扫描过程中读取的二进制表示的位信息获得更精确的重要小波系数的重构信息。
由以上过程只能解码得到截断低位平面的小波系数矩阵,也就是只能够得到包含重要小波系数的小波系数矩阵。一次解码后的小波系数矩阵如图6所示,其中的X表示零矩阵。
而本发明实施例在所有的解码信息用完时,也就是解码后,对解码后得到的数据流会进行补偿。补偿的方法是:对所有大于或等于当前门限值T的小波系数加上T/2或加上小于当前阈值的正值。具体步骤为:
第三步:确定被截断的位平面数或称为最低位平面:
根据SPIHT编码算法最低位平面是步骤406计算得到的当前扫描阈值的幂指数,因而,本实施例中最低位平面由(log2 32)-1=5-1=4,其对应的位平面阈值为24=16。
第四步:非零小波系数进行补偿:
本实施例中,选取最低位平面对应的位平面阈值的一半作为补偿值即可得到:新小波系数值=非零小波系数值+补偿值=非零系数值+16/2。由于SPIHT编码算法可知,解码后得到的截断低位平面的小波矩阵,其非零小波系数的绝对值均大于等于解码时使用的最小扫描阈值的值,否则,因不能在扫描时被选中而被填充为零。假设,接收端只接到一个位平面编码后的码流,也就是说,要对解码得到如图6所示的本发明第三个实施例中解码得到的小波系数矩阵,进行补偿,按照上述方法,可由图6得到如图7的所示本发明第三个实施例中补偿后的小波系数矩阵。
本发明实施例通过较为简单的方法,能够很好地提高SPIHT算法解码图像的质量,以下表1中给出的对金山(gold hill)和莉娜(lena)测试图像为例对于不同的截断位数进行的结果比较:
Figure GSB00000220618200152
Figure GSB00000220618200161
表1
由表1所示,本发明实施例通过对解码后得到的图像数据流进行补偿,能够减少因位平面被截断带来的解码数据误差,从而能够提高图像质量。
本发明实施例中,解码得到的数据除了为经小波变换得到小波系数矩阵外,还可以是经离散余弦变换等其它离散数字变换方式得到的变换系数矩阵。最小位平面阈值为解码时使用的最小扫描阈值;位平面解码得到的数据流中的所有非零数据为:解码得到的被截断低位平面的变换系数矩阵中绝对值大于等于所述最小扫描阈值的所有变换系数。
本发明实施例提供的方法和装置,通过将图像变换后的变换系数矩阵看成广义图像,借用图像空间中的峰值信噪比的概念,得出变换域空间中的变换系数矩阵的质量准则,得出的实现位平面解码的补偿方法,适用于所有基于位平面扫描的编码系统。
并且,本发明实施例提的方法和装置,通过对位平面解码后的数据流进行补偿,能够弥补由于量化或传输中丢失位平面来造成的图像或其它类型数据失真,从而能够提高解码图像或其它类型数据的质量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:接收经位平面编码的至少一个位平面数据流,每个位平面数据流对应一个位平面阈值;对每个位平面数据流进行位平面解码;从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据该最小位平面阈值,对解码得到的数据流进行补偿。这里的存储介质,可以为ROM/RAM、磁碟、光盘等存储介质。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种实现位平面解码的方法,其特征在于,该方法包括:
接收经位平面编码的至少一个位平面数据流,每个所述位平面数据流对应一个位平面阈值;
对每个所述位平面数据流进行位平面解码;
从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据流进行补偿;
所述根据最小位平面阈值,对解码得到数据流进行补偿具体包括:由所述最小位平面阈值计算得到补偿值,将所述解码后得到的数据流中所有非零数据,均加上所述补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算补偿值的过程包括:由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面,再由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
2.根据权利要求1所述的方法,其特征在于,所述解码后得到的数据流为:被截断低位平面的变换系数矩阵;
所述最小位平面阈值为:解码时使用的最小扫描阈值;
所述解码后得到的数据流中所有非零数据为:解码得到的被截断低位平面的变换系数矩阵中绝对值大于等于所述最小扫描阈值的所有变换系数。
3.根据权利要求2所述的方法,其特征在于,所述位平面解码包括:SPIHT算法解码或离散余弦变换解码。
4.一种实现位平面解码的方法,其特征在于,该方法包括:
根据接收到的位平面阈值的最大值,由预先设置的进制数,确定出应接收到的位平面数据流的最大数;接收经位平面编码的至少一个位平面数据流,每个所述位平面数据流对应一个位平面阈值;对每个所述位平面数据流进行位平面解码;判断所述接收到的位平面数据流个数是否小于所述应接收到的位平面数据流的最大值,如果是,从位平面数据流对应的位平面阈值中确定出最小位平面阈值,根据所述最小位平面阈值,对解码得到的数据流进行补偿,否则不进行补偿;
所述根据最小位平面阈值,对解码得到数据流进行补偿包括:由所述最小位平面阈值计算得到补偿值,将所述解码后得到的数据流中所有非零数据,均加上所述补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算补偿值的过程包括:由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面,再由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
5.一种实现位平面解码的装置,其特征在于,该装置包括:
接收单元,用于接收经位平面编码后的至少一个位平面数据流;
位平面解码单元,用于对所述接收单元接收到的各个所述位平面数据流进行位平面解码;
最小阈值确定单元,用于从所述接收单元接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值;
补偿单元,用于所述确定单元得到的位平面数据流对应的最小位平面阈值,对所述位平面解码单元解码得到的数据进行补偿;
所述补偿单元包括:
计算模块,用于由所述最小阈值确定单元确定出的最小位平面阈值计算得到补偿值;
叠加模块,用于对所述位平面解码单元得到的数据流中所有非零数据,均加上所述计算模块得到的补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算模块包括:
最低位平面计算子模块,用于由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面;
补偿值确定子模块,用于由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
6.一种实现位平面解码的装置,其特征在于,该装置包括:
接收单元,用于接收经位平面编码后的至少一个位平面数据流和位平面阈值的最大值;
位平面解码单元,用于对所述接收单元接收到的各个所述位平面数据流进行位平面解码;
最大数据流确定单元,用于根据所述接收单元接收到的位平面阈值的最大值,确定出应接收到的位平面数据流的最大数;
判断单元,用于判断所述接收单元接收到的位平面数据流的个数是否小于所述确定单元确定的位平面数据流的最大数,将判断结果输入到最小阈值确定单元;
最小阈值确定单元,用于在判断单元的判断结果表明接收到的位平面数据流的个数小于确定的位平面数据流的最大数时,从所述接收单元接收到的位平面数据流对应的位平面阈值中确定出最小位平面阈值,并将所述最小位平面阈值传送给补偿单元,否则,直接输出位平面解码单元解码得到的数据流;
补偿单元,用于所述确定单元得到的位平面数据流对应的最小位平面阈值,对所述位平面解码单元解码得到的数据进行补偿;
所述补偿单元包括:
计算模块,用于由所述最小阈值确定单元确定出的最小位平面阈值计算得到补偿值;
叠加模块,用于对所述位平面解码单元得到的数据流中所有非零数据,均加上所述计算模块得到的补偿值,所述补偿值的符号与非零数据的符号相同;
所述计算模块包括:
最低位平面计算子模块,用于由预先设置的进制数,计算出所述最小位平面阈值对应的位平面,将所述位平面减一得到最低位平面;
补偿值确定子模块,用于由预先设置的进制数,计算出所述最低位平面对应的位平面阈值,选取小于所述最低位平面对应的位平面阈值的数值作为计算得到的补偿值。
CN 200710167313 2007-10-22 2007-10-22 一种实现数据解码的方法和装置 Expired - Fee Related CN101420608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710167313 CN101420608B (zh) 2007-10-22 2007-10-22 一种实现数据解码的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710167313 CN101420608B (zh) 2007-10-22 2007-10-22 一种实现数据解码的方法和装置

Publications (2)

Publication Number Publication Date
CN101420608A CN101420608A (zh) 2009-04-29
CN101420608B true CN101420608B (zh) 2011-01-05

Family

ID=40631168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710167313 Expired - Fee Related CN101420608B (zh) 2007-10-22 2007-10-22 一种实现数据解码的方法和装置

Country Status (1)

Country Link
CN (1) CN101420608B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311687B (zh) * 2019-07-09 2022-10-04 上海天数智芯半导体有限公司 一种基于集成算法的时序数据无损压缩方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1460969A (zh) * 2003-06-30 2003-12-10 大唐微电子技术有限公司 基于数字信号处理器的层次树集合划分图像编解码方法
US6956973B1 (en) * 1997-09-30 2005-10-18 Texas Instruments Incorporated Image compression

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956973B1 (en) * 1997-09-30 2005-10-18 Texas Instruments Incorporated Image compression
CN1460969A (zh) * 2003-06-30 2003-12-10 大唐微电子技术有限公司 基于数字信号处理器的层次树集合划分图像编解码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开平10-66072A 1998.03.06
王超,曹鹏.一种JPEG2000图像传输中位平面错误修复算法.电路与系统学报.2007,12(3),140-142. *

Also Published As

Publication number Publication date
CN101420608A (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
US6236762B1 (en) System and method for unified DCT and wavelet data coding
US6456744B1 (en) Method and apparatus for video compression using sequential frame cellular automata transforms
Kidwai et al. ZM-SPECK: A fast and memoryless image coder for multimedia sensor networks
US20020172429A1 (en) Compression and decompression system with reversible wavelets and lossy reconstruction
Yadav et al. Study and analysis of wavelet based image compression techniques
CN108810534B (zh) 物联网下基于方向提升小波及改进spiht的图像压缩方法
US7373007B2 (en) Encoded data generation apparatus and a method, a program, and an information recording medium
Boujelbene et al. Enhanced embedded zerotree wavelet algorithm for lossy image coding
CN107666472B (zh) 混合的数字-模拟编解码的方法和设备
EP0914004A1 (en) Coding system and method for lossless and lossy compression of still and motion images
US6330283B1 (en) Method and apparatus for video compression using multi-state dynamical predictive systems
CN101420608B (zh) 一种实现数据解码的方法和装置
US8989278B2 (en) Method and device for coding a multi dimensional digital signal comprising original samples to form coded stream
Cho et al. Low complexity resolution progressive image coding algorithm: progres (progressive resolution decompression)
CN102281443A (zh) 基于优化的层式离散余弦变换的压缩感知图像处理方法
WO2013011355A1 (en) Method and apparatus for encoding an image
US6400766B1 (en) Method and apparatus for digital video compression using three-dimensional cellular automata transforms
Pearlman Wavelet image compression
KR20010021741A (ko) 멀티스케일 제로트리 엔트로피 인코딩용 장치 및 방법
Almrabet et al. Image compression using block truncation coding
Nagamani et al. EZW and SPIHT image compression techniques for high resolution satellite imageries
Saraf et al. Design and implementation of novel SPIHT algorithm for image compression
Karthikeyan et al. A survey on embedded zero tree wavelet
Ananth Comparison of spiht and lifting scheme image compressiontechniques for satellite imageries
Oliver et al. A new fast lower-tree wavelet image encoder

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
ASS Succession or assignment of patent right

Owner name: HUIZHOU ZHITAI ENTERPRISE MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20150212

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518129 SHENZHEN, GUANGDONG PROVINCE TO: 516003 HUIZHOU, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150212

Address after: 516003 Guangdong province Huizhou City Mountain Road No. 4 Building 12 layer Dweh No. 06 A District

Patentee after: Huizhou wisdom Enterprise Management Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

ASS Succession or assignment of patent right

Owner name: MAINTENANCE COMPANY OF STATE GRID XINJIANG ELECTRI

Effective date: 20150713

Owner name: STATE GRID CORPORATION OF CHINA

Free format text: FORMER OWNER: HUIZHOU ZHITAI ENTERPRISE MANAGEMENT CO., LTD.

Effective date: 20150713

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150713

Address after: 100000 Xicheng District West Chang'an Avenue, No. 86, Beijing

Patentee after: State Grid Corporation of China

Patentee after: MAINTENANCE COMPANY OF STATE GRID XINJIANG ELECTRIC POWER COMPANY

Address before: 516003 Guangdong province Huizhou City Mountain Road No. 4 Building 12 layer Dweh No. 06 A District

Patentee before: Huizhou wisdom Enterprise Management Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110105

Termination date: 20191022

CF01 Termination of patent right due to non-payment of annual fee