数据压缩解压装置和数据解压方法制造方法及图纸

技术编号:24804904 阅读:34 留言:0更新日期:2020-07-07 22:02
本申请涉及一种数据压缩解压装置、数据解压方法,可以实现对输入的原始数据流进行混洗,可以克服各个压缩解压操作执行组件的原始数据流中的数据在解压效率差异较大时,造成的各个压缩解压操作执行组件执行时间差异大,降低数据解压效率的问题。

【技术实现步骤摘要】
数据压缩解压装置和数据解压方法
本申请涉及计算机
,特别是涉及一种数据压缩解压装置和数据解压方法。
技术介绍
数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据冗余和存储空间的一种技术方法。然而,传统的数据解压方法,在解压数据时存在效率低的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种高效解压数据的数据压缩解压装置和数据压缩方法。一种数据压缩解压装置,包括:数据分割电路、数据混洗操作执行部件以及n个压缩解压操作执行组件,其中,每一所述压缩操作执行组件包括输入FIFO存储器、多个压缩操作执行部件以及输出FIFO存储器,所述输入FIFO存储器与所述输出FIFO存储器之间串接所述多个压缩操作执行部件,所述数据分割电路、所述数据混洗操作执行部件以及所述输入FIFO存储器依次串接,其中,n为正整数,所述数据分割电路用于将压缩数据分割为多个原始数据流;所述数据混洗操作执行部件,用于接收数据混洗信号后,对通过的原始数据流进行混洗,得到数据流;各个所述输入FIFO存储器用于对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件;各个所述压缩操作执行组件中串接的所述多个压缩操作执行部件,依次对接收的输入数据执行对应的解压子操作,得到各个数据流的解压结果;各个所述输出FIFO存储器用于接收连接的压缩解压操作执行部件发送的解压结果,并将接收的所述解压结果进行同步操作后输出。一种数据解压方法,所述方法包括:将压缩数据分割为多个原始数据流;获取的n个所述原始数据流,并在接收数据混洗信号后,对所述n个所述原始数据流中后段数据进行混洗,得到n个数据流,其中,所述后段数据为接收数据混洗信号之后还未获取到的各个所述原始数据流中的数据;对所述n个数据流进行同步操作,并将同步操作后的所述n个数据流并行解压,得到n个解压子结果,其中,n为正整数;对所述n个解压数字进行同步操作,并将同步操作后的所述n个解压子结果,按照各个数据流在待压缩数据中的顺序和/或位置写出解压子结果;重复执行所述获取n个数据流至写出所述n个解压子结果的步骤,直至单次解压子结果的数量小于n,之后终止获取数据流。上述数据压缩解压装置、数据解压方法,可以实现对输入的原始数据流进行混洗,可以克服各个压缩解压操作执行组件的原始数据流中的数据在解压效率差异较大时,造成的各个压缩解压操作执行组件执行时间差异大,降低数据解压效率的问题。附图说明图1为一个实施例中数据压缩解压装置的结构框图;图2为一个实施例中数据压缩解压装置的结构框图;图3为一个实施例中数据压缩解压装置的结构框图;图4为一个实施例中数据压缩解压装置的结构框图;图5为一个实施例中数据压缩解压装置的结构框图;图6为一个实施例中数据压缩解压装置的结构框图;图7为一个实施例中数据压缩解压装置的结构框图;图8为一个实施例中数据压缩解压装置的结构框图;图9为一个实施例中数据压缩解压装置的结构框图;图10为一个实施例中数据压缩解压装置的结构框图;图11为一个实施例中一种数据压缩方法的流程示意图;图12为一个实施例中一种数据解压方法的流程示意图;图13为另一个实施例中一种数据压缩方法的补充步骤的流程示意图;图14为一个实施例中一种数据解压方法补充步骤的流程示意图;图15为一个实施例中各个数据流进行压缩的步骤的流程示意图;图16为一个实施例中各个数据流进行解压的步骤的流程示意图;图17为另一个实施例中各个数据流进行压缩的步骤的流程示意图;图18为另一个实施例中各个数据流进行解压的步骤的流程示意图;图19为一个实施例中各个数据流进行压缩的步骤的流程示意图;图20为一个实施例中各个数据流进行解压的步骤的流程示意图;图21为另一个实施例中各个数据流进行压缩的步骤的流程示意图;图22为另一个实施例中各个数据流进行解压的步骤的流程示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。如图1-图10所示,为本申请其中一个实施例中的数据压缩解压装置100的结构框图,图1中数据压缩解压装置100,包括:n个压缩解压操作执行组件110,每一所述压缩解压操作执行组件包括输入FIFO存储器111、至少一个压缩解压操作执行部件112以及输出FIFO存储器113,所述输入FIFO存储器111与所述输出FIFO存储器113之间串接所述多个压缩操作执行部件112,其中,n为正整数。其中,各个所述输入FIFO存储器111用于对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件;各个所述压缩解压操作执行组件110中串接的至少一个压缩解压操作执行部件112,依次对接收的输入数据执行对应的压缩子操作,得到各个数据流的压缩编码结果;各个所述输出FIFO存储器用于接收连接的压缩解压操作执行部件发送的压缩编码结果,并将接收的所述压缩编码结果进行同步操作后输出。进一步地,输出FIFO存储器按照各个数据流在待压缩数据中的顺序和/或位置写出接收压缩编码结果。应当清楚的是,数据流中的数据为待压缩的数据。可选地,该数据压缩解压装置100还可以包括数据分割电路120,用于对输入的数据进行分割,得到多个数据流。可选地,输入数据可以为待压缩数据或压缩数据。可选地,数据分割电路120分割得到的数据流的大小可以为1024kb,或者其他设定大小。进一步地,该数据压缩解压装置100还可以对压缩数据进行解压。具体地,数据分割电路120将压缩数据分割为多个数据流,之后各个所述输入FIFO存储器111对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件,各个所述压缩操作执行组件110中串接的所述多个压缩操作执行部件112,依次对接收的输入数据执行对应的解压子操作,得到各个数据流的解压结果,各个所述输出FIFO存储器113用于接收连接的压缩解压操作执行部件发送的解压结果,并将接收的所述解压结果进行同步操作后输出。本实施例中的数据压缩解压装置,可以并行压缩或解压n个输入的数据流,且在输入和输出端均设置FIFO存储器,对输入的数据流以及输出的压缩编码结果或者解压结果均进行同步操作,保证了并行对待压缩数据的多个数据流进行压缩,或者对压缩数据进行解压时,输出的结果准确。可选地,可以根据输入FIFO存储器111的面积以及执行的数据处理的类型设置输入位宽,其中,所述输入位宽为输入FIFO存储器单次获取数据的字节数。执行的数据处理的类型包括压缩数据或解压数据。本文档来自技高网...

【技术保护点】
1.一种数据压缩解压装置,其特征在于,包括:数据分割电路、数据混洗操作执行部件以及n个压缩解压操作执行组件,其中,每一所述压缩操作执行组件包括输入FIFO存储器、多个压缩操作执行部件以及输出FIFO存储器,所述输入FIFO存储器与所述输出FIFO存储器之间串接所述多个压缩操作执行部件,所述数据分割电路、所述数据混洗操作执行部件以及所述输入FIFO存储器依次串接,其中,n为正整数,/n所述数据分割电路用于将压缩数据分割为多个原始数据流;/n所述数据混洗操作执行部件,用于接收数据混洗信号后,对通过的原始数据流进行混洗,得到数据流;/n各个所述输入FIFO存储器用于对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件;/n各个所述压缩操作执行组件中串接的所述多个压缩操作执行部件,依次对接收的输入数据执行对应的解压子操作,得到各个数据流的解压结果;/n各个所述输出FIFO存储器用于接收连接的压缩解压操作执行部件发送的解压结果,并将接收的所述解压结果进行同步操作后输出。/n

【技术特征摘要】
1.一种数据压缩解压装置,其特征在于,包括:数据分割电路、数据混洗操作执行部件以及n个压缩解压操作执行组件,其中,每一所述压缩操作执行组件包括输入FIFO存储器、多个压缩操作执行部件以及输出FIFO存储器,所述输入FIFO存储器与所述输出FIFO存储器之间串接所述多个压缩操作执行部件,所述数据分割电路、所述数据混洗操作执行部件以及所述输入FIFO存储器依次串接,其中,n为正整数,
所述数据分割电路用于将压缩数据分割为多个原始数据流;
所述数据混洗操作执行部件,用于接收数据混洗信号后,对通过的原始数据流进行混洗,得到数据流;
各个所述输入FIFO存储器用于对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件;
各个所述压缩操作执行组件中串接的所述多个压缩操作执行部件,依次对接收的输入数据执行对应的解压子操作,得到各个数据流的解压结果;
各个所述输出FIFO存储器用于接收连接的压缩解压操作执行部件发送的解压结果,并将接收的所述解压结果进行同步操作后输出。


2.根据权利要求1所述的装置,其特征在于,所述输入FIFO存储器、所述压缩操作执行部件以及输出FIFO存储器上均设置结束信号发射器,所述结束信号发射器用于发射结束信号。


3.根据权利要求1或2所述的装置,其特征在于,各个所述压缩解压操作执行组件中相邻的两个压缩解压操作执行部件之间串接一存储器,
所述相邻的两个压缩解压操作执行部件之间串接一存储器,用于存储对应的所述相邻的两个压缩解压操作执行部件中在前的压缩解压操作执行部件的输出结果。


4.根据权利要求3所述的装置,其特征在于,所述相邻的两个压缩解压操作执行部件中在后的压缩解压操作执行部件,获取连接的存储器中的输出结果作为输入数据执行对应的解压子操作。


5.根据权利要求1或2所述的装置,其特征在于,所述装置还包括:控制电路,
所述控制电路用于控制所述数据分割电路执行分割操作,以及控制所述压缩操作执行组件执行解压操作,其中所述解压操作包含至少一个解压子操作。


6.根据权利要求1或2所述的装置,其特征在于,所述各个所述压缩操作执行组件中串接的压缩操作执行部件,包括:依次串接的比较操作执行部件、加法操作执行部件以及查询操作执行部件,所述查询操作执行部件连接所述输出FIFO存储器,其中,
所述比较操作执行部件,用于访问预设的编码值范围表和预设的码长表,依次得到输入的数据流中各编码值的码长,其中,所述编码值范围表包含多种编码码长的最大编码值,所述码长编码包含所述多种编码码长;
所述加法操作执行部件,用于依次获取数据流中每一编码值的有效值作为各所述编码值的初始编码值,并根据所述数据流中每一编码值的编码码长以及预设的码长基础值表得到所述数据流中每一编码值的基础值,将所述数据流中每一编码值的初始编码值与基础值的差值作为所述数据流中各个编码值的排序值,其中,所述码长基础值表包含每一所述编码码长的基础值;
所述查询操作执行部件,用于根据所述数据流中每一编码值的排序值,在预设的符号序列表中查询,得到与数据流中每一编码值对应的数字,其中,所述符号序列表包含多个数字,以及基于所述多个数字的出现概率得到的各个数字的排序值。


7.根据权利要求6所述的装置,其特征在于,
所述比较操作执行部件,具体用于根据所述编码值范围表中不小于当前编码值的最小的编码值和预设的码长表得到所述当前编码值的编码码长。


8.根据权利要求1或2所述的装置,其特征在于,所述各个所述压缩操作执行组件中串接的压缩操作执行部件,包括:与所述输出FIFO存储器连接的游程编码执行部件,
所述游程编码执行部件,用于根据数据流中的游程,得到解压数组,将所述解压数组中除游程以外的数字进行转化,得到所述解压数组有效数字,将所述解压数组中的游程解码为指定数字,将所述解压数组的有效数字和指定数字作为所述解压数组的解压数字。


9.根据权利要求8所述的装置,其特征在于,若所述压缩数据包含替换的预设数字,则所述各个所述压缩操作执行组件还包括:与所述输入FIFO存储器连接的替换操作执行部件,
所述替换操作执行部件,用于使用指定数字和预设游程替换所述数据流中的预设数字,所述预设游程为预设的游程位宽对应的最大数值。


10.根据权利要求1或2所述的装置,其特征在于,所述各个所述压缩操作执行组件中串接的替换操作执行部件、游程编码执行部件、比较操作执行部件、加法操作执行部件以及查询操作执行部件,所述替换操作执行部件连接所述输入FIFO存储器,所述查询操作执行部件连接所述输出FIFO存储器,其中,
所述替换操作执行部件,用于使用指定数字和预设游程替换所述数据流中的预设数字,所述预设游程为预设的游程位宽对应的最大数值;
所述游程编码执行部件,用于根据获取数据中的游程,得到解压数组,将所述解压数组中除游程以外的数字进行转化,得到所述解压数组有效数字,将所述解压数组中的游程解码为指定数字,将所述解压数组的有效数字和指定数字作为所述数据流的中间编码结果,所述中间编码结果包含多个中间编码值;
所述比较操作执行部件,用于获取所述中间编码结果,并访问预设的编码值范围表和预设的码长表,依次得到所述中间编码结果中每一中间编码值的码长,其中,所述编码值范围表包含多种编码码长的最大编码值,所述码长编码包含所述多种编码码长;
所述加法操作执行部件,用于依次获取中间编...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1