CN106709961B - 数据压缩方法及装置 - Google Patents
数据压缩方法及装置 Download PDFInfo
- Publication number
- CN106709961B CN106709961B CN201611049202.0A CN201611049202A CN106709961B CN 106709961 B CN106709961 B CN 106709961B CN 201611049202 A CN201611049202 A CN 201611049202A CN 106709961 B CN106709961 B CN 106709961B
- Authority
- CN
- China
- Prior art keywords
- ray
- projection angle
- ray projection
- image
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请提出数据压缩方法及装置。方法包括:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像;按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列,对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值。本申请提高了数据压缩效率。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据压缩方法及装置。
背景技术
随着科技的发展,人们对信息处理和信息交流的要求越来越高,其中典型的特征是数据量大,因此对信息的存储和传输提出更高的要求,即在保证信息数据质量的前提下以更小的存储空间和更少的比特率对其进行存储和传输。
在遥感测试、卫星数据传输、网络化测试、多媒体、军事通信等领域,大数据量的特征表现最为突出,人们也开展了相关的数据压缩方面的研究。在静态图像数据压缩方面和动态图像数据压缩方面提出了相应的标准,并且得到了一定程度的完善。虽然人们一直致力于数据的压缩存储和传输,但是压缩算法的数据压缩比率和压缩质量依然不能够完全满足数据量增长的需求,因此大数据的压缩算法研究一直是该领域研究的热点问题。
发明内容
本申请实施例提供数据压缩方法及装置,以优化数据压缩效率。
本申请的技术方案是这样实现的:
一种数据压缩方法,该方法包括:
按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像;
按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列,对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
所述将原始数据重排为M×N的图像之前进一步包括:
根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
所述按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列包括:
按照预设射线投影角度抽样间隔和本次采用的抽样总数,随机生成本次采用的射线投影角度序列;
所述对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换包括:
从本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换;
所述得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值之后进一步包括:
对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包。
所述计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表包括:
当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,若图像的行数M为偶数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像最中间部分的那条射线以及该条射线上方或者下方的各条射线经过的各像素的坐标;
所述在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标包括:
若图像的行数M为偶数,则根据射线驱动像素位置查找表中记录的每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标,计算出该射线投影角度下穿过图像下半部分或者上半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则根据射线驱动像素位置查找表中记录的位于每个射线投影角度下穿过图像最中间部分的那条射线的上方或者下方的各条射线经过的各像素的坐标,计算出位于该射线投影角度下穿过图像最中间部分的那条射线的下方或上方的各条射线经过的各像素的坐标。
所述对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包之后进一步包括:
分别从两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值;
从解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算;
当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像。
所述原始数据为任意维度的数据。
一种数据压缩装置,该方法包括:
数据重排模块:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像;
射线投影角度序列发生模块:按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列;
数据压缩模块:对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
所述装置进一步包括:
射线驱动像素位置查找表生成模块:根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
且,所述射线投影角度序列发生模块具体用于,
按照预设射线投影角度抽样间隔和本次采用的抽样总数,随机生成本次采用的射线投影角度序列;
所述数据压缩模块具体用于,
从所述本次采用的射线投影角度序列中依次读取一个射线投影角度,在所述射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换,当得到重排图像在本次采用的射线投影角度序列下的所有射线投影角度下的所有射线上的投影值时,对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包。
所述射线驱动像素位置查找表生成模块进一步用于,
当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,若图像的行数M为偶数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标;若图像的行数M为奇数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像最中间部分的那条射线以及该条射线上方或者下方的各条射线经过的各像素的坐标;
所述数据压缩模块在所述射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标包括:
若图像的行数M为偶数,则根据射线驱动像素位置查找表中记录的每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标,计算出该射线投影角度下穿过图像下半部分或者上半部分的各条射线经过的各像素的坐标;若图像的行数M为奇数,则根据射线驱动像素位置查找表中记录的位于每个射线投影角度下穿过图像最中间部分的那条射线的上方或者下方的各条射线经过的各像素的坐标,计算出位于该射线投影角度下穿过图像最中间部分的那条射线的下方或上方的各条射线经过的各像素的坐标。
所述数据重排模块包括:
数据缓冲及管理模块:对原始数据进行高速缓存,同时根据预设的重排图像的行数M、列数N,将原始数据重排为M×N的图像,将重排图像数据存储在重排图像数据存储模块中,并对重排图像数据存储模块进行检测,当检测到当前存储块存满数据时,将后续重排图像数据存储到下一个存储块;
重排图像数据存储模块:采用流水线结构存储重拍图像数据,当当前存储块存满后向数据缓冲及管理模块反馈存满信号。
一种数据解压缩装置,该装置包括:
射线驱动像素位置查找表生成模块:根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
数据译码模块:接收本次采用的射线投影角度序列包以及本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值包,分别从两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值并发送给数据解压重建模块;
数据解压重建模块:从解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算;当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像。
可见,本申请提高了数据压缩效率。
附图说明
图1为本申请一实施例提供的数据压缩方法流程图;
图2为本申请另一实施例提供的数据压缩方法流程图;
图3为本申请实施例提供的数据解压缩方法流程图;
图4为本申请一实施例提供的数据压缩装置的组成示意图;
图5为本申请另一实施例提供的数据压缩装置的组成示意图;
图6为本申请实施例提供的数据解压缩装置的组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本申请一实施例提供的数据压缩方法流程图,其具体步骤如下:
步骤101:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像。
其中,M、N的数值可以相同也可以不同。原始数据的数目为M×N,重排后转化为M×N的图像,图像上每一个位置的像素的取值为对应位置的原始数据的取值。例如:设原始数据为一维数据,坐标为0~M×N-1,M×N图像上的像素的坐标为(0,0)~(M-1,N-1),则像素(0,0)的取值即原始数据0的取值,像素(0,1)的取值即原始数据1的取值,像素(0,2)的取值即原始数据2的取值,依此类推。
本申请中,原始数据可以为任意维度的数据。
步骤102:按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列。
例如:射线投影角度抽样间隔为1°,抽样总数为180个,则生成的射线投影角度序列中共包含180个角度,且相邻两个角度的差值为1°。
步骤103:对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
图2为本申请另一实施例提供的数据压缩方法流程图,其具体步骤如下:
步骤201:根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度。
例如:若预设射线投影角度抽样间隔为1°,则所有可能的射线投影角度为1°、2°、3°、4°、…、359°、360°;若预设射线投影角度抽样间隔为2°,则所有可能的射线投影角度为2°、4°、6°、8°、…、358°、360°。
步骤202:根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表。
步骤203:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像。
步骤204:按照预设射线投影角度抽样间隔和本次采用的抽样总数,随机生成本次采用的射线投影角度序列。
射线投影角度抽样间隔和抽样总数可根据需要设定。通常将射线投影角度抽样间隔设为1°,抽样总数设为180个,这样射线投影角度就从1°~180°,理论上180度的射线投影角度范围可以得到完备的投影值,能够实现完全数据重建。
步骤205:从本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换,直至得到重排图像在本次采用的射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
其中,当读取到所有投影角度下的所有射线经过的各像素的坐标时,可以对所有射线进行分组,例如:以射线投影角度进行分组,各个组的射线的Radon变换可以并行进行。
步骤206:对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包,再将得到的两个包打成一个包后存储或传输。
在实际应用中,当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,若图像的行数M为偶数,则步骤202中,在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则步骤202中,在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像最中间部分的那条射线以及该条射线上方或者下方的各条射线经过的各像素的坐标;
同时,步骤205中,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标包括:
若图像的行数M为偶数,则根据射线驱动像素位置查找表中记录的每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标,计算出该射线投影角度下穿过图像下半部分或者上半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则根据射线驱动像素位置查找表中记录的位于每个射线投影角度下穿过图像最中间部分的那条射线的上方或者下方的各条射线经过的各像素的坐标,计算出位于该射线投影角度下穿过图像最中间部分的那条射线的下方或上方的各条射线经过的各像素的坐标。
图3为本申请实施例提供的数据解压缩方法流程图,其具体步骤如下:
步骤301:接收本次采用的射线投影角度序列包以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值包。
步骤302:分别从两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
步骤303:从解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算。
步骤304:当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像。
采用Radon变换,将空间域的M×N的图像转换到Radon域后,得到的Radon域的投影数据矩阵为其中为投影数据矩阵的行数,P为投影数据矩阵列数(即投影角度数)。通过控制空间域重排图像的行、列数和射线投影角度数,可以实现对空间域数据进行大比率压缩。比如重排图像行、列数满足M=N=2048,投影角度抽样间隔为1度,射线投影角度数量为180个,则Radon域投影数据矩阵行数为矩阵列数为180。通过规划处理保证单个数值量化为8bit(空间域数值也量化为8bit),则数据压缩率为88%。可见,通过射线投影角度或空间重排图像阵列的调整,可以达到更高的压缩比率。
图4为本申请一实施例提供的数据压缩装置的组成示意图,该装置主要包括:数据重排模块41、射线投影角度序列发生模块42和数据压缩模块43,其中:
数据重排模块41:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像。
射线投影角度序列发生模块42:按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列。
数据压缩模块43:对于射线投影角度序列发生模块42生成的射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的数据重排模块41得到的M×N的重排图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值。
图5为本申请另一实施例提供的数据压缩装置的组成示意图,该装置主要包括:射线驱动像素位置查找表生成模块50、数据源模块51、射线投影角度序列发生模块52、数据缓冲及管理模块53、重排图像数据存储模块54、存储器模块55、数据压缩模块56和压缩数据存储或传输模块57,其中:
射线驱动像素位置查找表生成模块50:用于根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标,将每个可能的射线投影角度下的各条射线经过的各像素的坐标记录到射线驱动像素位置查找表中,将射线驱动像素位置查找表存储到存储器模块55中。
当图像的行、列数确定后,每个射线投影角度下的各条射线经过图像上哪些像素也就确定了。
每一对M、N值,对应一个射线驱动像素位置查找表,当M和N的值不变时,直接采用之前针对该M和N值生成的射线驱动像素位置查找表即可;当M或/和N值发生改变时,需要根据新的M、N值生成对应的射线驱动像素位置查找表。
需要说明的是,当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,则同一射线投影角度下的各条射线经过的像素的坐标具有如下特点:若图像的行数M为偶数,则穿过图像上半部分的各条射线经过的像素的坐标与穿过图像下半部分的各条射线经过的像素的坐标是具有固定换算关系的,此时,在射线驱动像素位置查找表中可只记录每个射线投影角度下穿过图像上半部分(或者下半部分)的各条射线经过的各像素的坐标,每个射线投影角度下穿过图像下半部分(或者上半部分)的各条射线经过的各像素的坐标可推导得出;同理,若图像的行数M为奇数,则以穿过图像最中间部分的那条射线为中心,位于该条射线上、下方且与该条射线距离相同的两条射线经过的像素的坐标是具有固定换算关系的,因此,在射线驱动像素位置查找表中可只记录每个投影角度下穿过图像最中间部分的那条射线以及该条射线上方(或者下方)的各条射线经过的各像素的坐标,每个投影角度下位于穿过图像最中间部分的那条射线的下方(或者上方)的各条射线经过的各像素的坐标可推导得出。通过这种方式,可以进一步提高数据压缩速率。
数据源模块51:用于采集原始数据,并将采集到的原始数据缓存到数据缓冲及管理模块53。
射线投影角度序列发生模块52:按照预设射线投影角度抽样间隔和抽样总数,生成本次采用的射线投影角度序列,将本次采用的射线投影角度序列存储到存储器模块55。
数据缓冲及管理模块53:用于对原始数据进行高速缓存,同时根据预设的重排图像的行数M、列数N,将原始数据重排为M×N的图像,将重排图像数据存储在重排图像数据存储模块54。
数据缓冲及管理模块53进一步用于,对重排图像数据存储模块54进行检测,当检测到重排图像数据存储模块54的当前存储块存满数据时,将后续重排图像数据存储到重排图像数据存储模块54的下一个存储块,从而实现重排图像数据的高速缓存。
重排图像数据存储模块54:用于采用流水线结构存储重排图像数据,当当前存储块存满后向数据缓冲及管理模块53反馈存满信号,数据缓冲及管理模块53收到存满信号后,控制后续重排图像数据存储到下一个存储块。
存储器模块55:用于存储射线驱动像素位置查找表以及本次采用的射线投影角度序列。
存储器模块55可以为Flash(闪存)。
数据压缩模块56:用于从存储器模块55存储的本次采用的射线投影角度序列中依次读取一个射线投影角度,在存储器模块55存储的射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像数据存储模块54中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换,当得到重排图像在本次采用的射线投影角度序列下的所有射线投影角度下的所有射线上的投影值时,对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包,并将该两个包打成一个包后发送给压缩数据存储或传输模块57。
压缩数据存储或传输模块57:用于存储或传输数据压缩模块56发来的压缩数据包。
由于射线投影角度序列是随机生成的,因此对射线投影角度序列和投影数据分别进行打包,可增强压缩数据的保密性。
可见,射线驱动像素位置查找表生成模块50可以在压缩过程之外实现,从而加快压缩速率。
其中,数据缓冲及管理模块53和重排图像数据存储模块54构成了图4所示装置的数据重排模块41。
图6为本申请实施例提供的数据解压缩装置的组成示意图,该装置主要包括:射线驱动像素位置查找表生成模块60、存储器模块61、数据接收模块62、数据译码模块63、数据解压重建模块64和数据缓存输出模块65,其中:
射线驱动像素位置查找表生成模块60:用于根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标,将每个可能的射线投影角度下的各条射线经过的各像素的坐标记录到射线驱动像素位置查找表中,将射线驱动像素位置查找表存储到存储器模块61中。
存储器模块61:用于存储射线驱动像素位置查找表。
数据接收模块62:用于接收压缩数据包,将压缩数据包进行缓存后发送给数据译码模块63。
数据译码模块63:用于从数据接收模块62发来的压缩数据包中包含的两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值并发送给数据解压重建模块64。
数据解压重建模块64:从数据译码模块63解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在存储器模块61存储的射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算;当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像,将恢复出的M×N的图像数据发送给数据缓存输出模块65。
数据缓存输出模块65:用于将恢复出的M×N的图像数据缓存到缓存器中,并将缓存器中的M×N的图像数据输出到显示设备以将图像显示出来。
同样地,射线驱动像素位置查找表生成模块60可以在解压缩过程之外实现,从而加快解压缩速率。
另外,为了解决投影值过大而导致投影值的长度过长,从而使得压缩数据包的长度过长这一问题,本申请进行了如下优化处理:
预先设置一个映射区间,例如:该映射区间为8bit,并建立投影值范围与该映射区间的映射关系,从而将各投影值映射到该映射区间内的一个映射值,后续在解压缩时,进行反映射,即可得到原始的投影值。
本申请实施例的有益技术效果如下:
1)通过采用Radon变换,大大提升了数据压缩比率,同时能够保证图像重建质量;
2)通过预先生成射线驱动像素位置查找表,大大通过降低了数据压缩算法复杂度,仅通过数据查找便可以实现数据压缩过程,便于压缩端设备的简化;
3)每次压缩时,随机生成射线投影角度序列,并将射线投影角度序列和投影数据分别打包,实现了投影数据的加密,提升了压缩数据的安全性;
4)原始数据可以是任意维度的数据,即适用于对任意维度的数据进行压缩;
5)可以将高bit的投影数据映射到低bit空间中,进一步减少压缩数据包的长度,且不会影响重建图像的质量;
6)数据压缩过程便于并行实现,大大提升了数据压缩效率。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种数据压缩方法,其特征在于,该方法包括:
按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像;
按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列,对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值;
所述将原始数据重排为M×N的图像之前进一步包括:
根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
所述按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列包括:
按照预设射线投影角度抽样间隔和本次采用的抽样总数,随机生成本次采用的射线投影角度序列;
所述对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换包括:
从本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换;
所述得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值之后进一步包括:
对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包。
2.根据权利要求1所述的方法,其特征在于,所述计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表包括:
当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,若图像的行数M为偶数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像最中间部分的那条射线以及该条射线上方或者下方的各条射线经过的各像素的坐标;
所述在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标包括:
若图像的行数M为偶数,则根据射线驱动像素位置查找表中记录的每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标,计算出该射线投影角度下穿过图像下半部分或者上半部分的各条射线经过的各像素的坐标;
若图像的行数M为奇数,则根据射线驱动像素位置查找表中记录的位于每个射线投影角度下穿过图像最中间部分的那条射线的上方或者下方的各条射线经过的各像素的坐标,计算出位于该射线投影角度下穿过图像最中间部分的那条射线的下方或上方的各条射线经过的各像素的坐标。
3.根据权利要求1所述的方法,其特征在于,所述对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包之后进一步包括:
分别从两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值;
从解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算;
当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像。
4.根据权利要求1所述的方法,其特征在于,所述原始数据为任意维度的数据。
5.一种数据压缩装置,其特征在于,该装置包括:
数据重排模块:按照预设的重排图像的行数M和列数N,将原始数据重排为M×N的图像;
射线投影角度序列发生模块:按照预设射线投影角度抽样间隔和抽样总数,生成射线投影角度序列;
数据压缩模块:对于射线投影角度序列中的每个射线投影角度,根据该射线投影角度下的每条射线经过的图像的像素进行Radon变换,得到重排图像在该条射线上的投影值,直至得到重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值;
所述装置进一步包括:
射线驱动像素位置查找表生成模块:根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
且,所述射线投影角度序列发生模块具体用于,
按照预设射线投影角度抽样间隔和本次采用的抽样总数,随机生成本次采用的射线投影角度序列;
所述数据压缩模块具体用于,
从所述本次采用的射线投影角度序列中依次读取一个射线投影角度,在所述射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,并根据各像素的坐标在重排图像中查找每个像素的取值,针对每条射线,对该条射线经过的所有像素的取值进行Radon变换,当得到重排图像在本次采用的射线投影角度序列下的所有射线投影角度下的所有射线上的投影值时,对本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值分别进行打包。
6.根据权利要求5所述的装置,其特征在于,所述射线驱动像素位置查找表生成模块进一步用于,
当同一射线投影角度下相邻两条射线经过的对应像素的纵坐标相差1个像素时,若图像的行数M为偶数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标;若图像的行数M为奇数,则在射线驱动像素位置查找表中只记录每个射线投影角度下穿过图像最中间部分的那条射线以及该条射线上方或者下方的各条射线经过的各像素的坐标;
所述数据压缩模块在所述射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标包括:
若图像的行数M为偶数,则根据射线驱动像素位置查找表中记录的每个射线投影角度下穿过图像上半部分或者下半部分的各条射线经过的各像素的坐标,计算出该射线投影角度下穿过图像下半部分或者上半部分的各条射线经过的各像素的坐标;若图像的行数M为奇数,则根据射线驱动像素位置查找表中记录的位于每个射线投影角度下穿过图像最中间部分的那条射线的上方或者下方的各条射线经过的各像素的坐标,计算出位于该射线投影角度下穿过图像最中间部分的那条射线的下方或上方的各条射线经过的各像素的坐标。
7.根据权利要求5所述的装置,其特征在于,所述数据重排模块包括:
数据缓冲及管理模块:对原始数据进行高速缓存,同时根据预设的重排图像的行数M、列数N,将原始数据重排为M×N的图像,将重排图像数据存储在重排图像数据存储模块中,并对重排图像数据存储模块进行检测,当检测到当前存储块存满数据时,将后续重排图像数据存储到下一个存储块;
重排图像数据存储模块:采用流水线结构存储重拍图像数据,当当前存储块存满后向数据缓冲及管理模块反馈存满信号。
8.一种数据解压缩装置,其特征在于,该装置包括:
射线驱动像素位置查找表生成模块:根据预设射线投影角度抽样间隔,计算出所有可能的射线投影角度,根据预设的重排图像的行数M、列数N以及计算出的所有可能的射线投影角度,计算每个可能的射线投影角度下的各条射线经过的各像素的坐标并生成射线驱动像素位置查找表;
数据译码模块:接收本次采用的射线投影角度序列包以及本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值包,分别从两个包中解析出本次采用的射线投影角度序列以及本次得到的重排图像在射线投影角度序列下的所有射线投影角度下的所有射线上的投影值并发送给数据解压重建模块;
数据解压重建模块:从解析出的本次采用的射线投影角度序列中依次读取一个射线投影角度,在射线驱动像素位置查找表中查找读取的射线投影角度下的各条射线经过的各像素的坐标,从解析出的本次得到的重排图像在射线投影角度序列中的所有射线投影角度下的所有射线上的投影值中依次读取该射线投影角度下的各条射线对应的投影值,对于每条射线,根据该条射线经过的各像素的坐标和该条射线对应的投影值,进行反投影计算;当对本次采用的射线投影角度序列中的所有射线投影角度下的所有射线的投影值都进行完反投影计算后,得到恢复的M×N的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611049202.0A CN106709961B (zh) | 2016-11-25 | 2016-11-25 | 数据压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611049202.0A CN106709961B (zh) | 2016-11-25 | 2016-11-25 | 数据压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106709961A CN106709961A (zh) | 2017-05-24 |
CN106709961B true CN106709961B (zh) | 2020-05-05 |
Family
ID=58934871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611049202.0A Active CN106709961B (zh) | 2016-11-25 | 2016-11-25 | 数据压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106709961B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113285716A (zh) * | 2021-05-25 | 2021-08-20 | 中北大学 | 一种大动态范围信号放大及高分辨采集电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4812983A (en) * | 1985-01-03 | 1989-03-14 | General Electric Company | Method and means of correcting for a shift in the center of rotation of a rotating fan beam CT system |
US6256365B1 (en) * | 1999-08-16 | 2001-07-03 | Analogic Corporation | Apparatus and method for reconstruction of images in a computed tomography system using oblique slices |
JP2007139620A (ja) * | 2005-11-18 | 2007-06-07 | Uni-Hite System Corp | 広角コーンビームct装置、画像再構成法及びプログラム |
CN102525501A (zh) * | 2010-11-22 | 2012-07-04 | 佳能株式会社 | 图像处理设备和图像处理方法 |
CN104899827A (zh) * | 2015-05-26 | 2015-09-09 | 大连理工大学 | 基于固定分辨率条件下的离散Radon投影和Mojette投影转换方法 |
CN105136823A (zh) * | 2015-07-07 | 2015-12-09 | 重庆大学 | 大口径管道壁外部ct局部扫描成像方法 |
-
2016
- 2016-11-25 CN CN201611049202.0A patent/CN106709961B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4812983A (en) * | 1985-01-03 | 1989-03-14 | General Electric Company | Method and means of correcting for a shift in the center of rotation of a rotating fan beam CT system |
US6256365B1 (en) * | 1999-08-16 | 2001-07-03 | Analogic Corporation | Apparatus and method for reconstruction of images in a computed tomography system using oblique slices |
JP2007139620A (ja) * | 2005-11-18 | 2007-06-07 | Uni-Hite System Corp | 広角コーンビームct装置、画像再構成法及びプログラム |
CN102525501A (zh) * | 2010-11-22 | 2012-07-04 | 佳能株式会社 | 图像处理设备和图像处理方法 |
CN104899827A (zh) * | 2015-05-26 | 2015-09-09 | 大连理工大学 | 基于固定分辨率条件下的离散Radon投影和Mojette投影转换方法 |
CN105136823A (zh) * | 2015-07-07 | 2015-12-09 | 重庆大学 | 大口径管道壁外部ct局部扫描成像方法 |
Non-Patent Citations (1)
Title |
---|
基于压缩感知理论的计算机层析图像重建算法;李梦婕;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第3期);摘要、论文正文第1-50 * |
Also Published As
Publication number | Publication date |
---|---|
CN106709961A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Baron et al. | An information-theoretic approach to distributed compressed sensing | |
EP3399758A1 (en) | Method and apparatus to encode and decode two-dimension point clouds | |
CN105554501B (zh) | 一种图像采集与压缩方法及装置 | |
US9203439B2 (en) | Method of generating a sequence of display frames for display on a display device | |
Barannik et al. | The positional structural-weight coding of the binary view of transformants | |
KR920005642A (ko) | 직교변환 부호화장치 | |
CN1457607A (zh) | 存储器地址转换单元和方法以及包含这种单元的图像处理装置 | |
CN110019865B (zh) | 海量图片处理方法、装置、电子设备及存储介质 | |
US8688621B2 (en) | Systems and methods for information compression | |
US10091518B2 (en) | Systems and methods for transmission of compressive sensing data | |
CN106709961B (zh) | 数据压缩方法及装置 | |
CN104243886B (zh) | 一种基于插件技术的高速图像解析及视频生成方法 | |
CN105206277A (zh) | 基于单比特压缩感知的语音压缩方法 | |
US20140358996A1 (en) | Distributed encoding and decoding system, method, and device | |
US9398312B2 (en) | Adaptive inter-channel transform for wavelet color image compression | |
US8467624B2 (en) | Image processing apparatus, image processing circuit, and image processing method | |
AU2014227492B2 (en) | Apparatus and method for compact bit-plane data compression | |
CN105790768A (zh) | 数据存储方法和系统 | |
AU2018102061A4 (en) | A novel CS-VQ based image encryption scheme | |
CN107592541A (zh) | 一种图像解压方法和系统 | |
CN109788292A (zh) | 一种适用于显示面板检测的逻辑图像压缩方法 | |
JP4901977B2 (ja) | 比較監視システム及び比較監視方法 | |
CN109996077A (zh) | 一种适用于显示面板检测的逻辑图像解压方法 | |
CN1636239A (zh) | 存储数据元素的方法 | |
KR101512078B1 (ko) | 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |