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

技术编号:24804902 阅读:31 留言:0更新日期:2020-07-07 22:02
本申请涉及一种数据压缩解压装置和数据压缩方法,可以并行压缩n个输入的数据流,且在输入和输出端均设置FIFO存储器,对输入的数据流以及输出的压缩编码结果均进行同步操作,保证了并行对待压缩数据的多个数据流进行压缩,或者对压缩数据进行解压时,输出的结果准确。

【技术实现步骤摘要】
数据压缩解压装置和数据压缩方法
本申请涉及计算机
,特别是涉及一种数据压缩解压装置和数据压缩方法。
技术介绍
数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据冗余和存储空间的一种技术方法。然而,传统的数据压缩方法,存在效率低的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种高效压缩数据的数据压缩解压装置和数据压缩方法。一种数据压缩解压装置,包括:n个压缩解压操作执行组件,每一所述压缩解压操作执行组件包括输入FIFO存储器、至少一个压缩解压操作执行部件以及输出FIFO存储器,所述输入FIFO存储器与所述输出FIFO存储器之间串接所述多个压缩操作执行部件,其中,n为正整数,各个所述输入FIFO存储器用于对接收的数据流执行同步操作,并将同步操作之后的数据流传输至连接的压缩操作执行部件;各个所述压缩解压操作执行组件中串接的至少一个压缩解压操作执行部件,用于依次对接收的输入数据执行对应的压缩子操作,得到各个数据流的压缩编码值;各个所述输出FIFO存储器用于接收连接的压缩解压操作执行部件发送的压缩编码值,并将接收的所述压缩编码值进行同步操作后输出。一种数据压缩方法,所述方法包括:将待压缩数据分割为多个数据流;获取n个数据流,对所述n个数据流进行同步操作,并将同步操作后的所述n个数据流并行压缩,得到n个压缩编码值,其中,n为正整数;对所述n个压缩编码值进行同步操作,并将同步操作后的所述n个压缩编码值,按照各个数据流在待压缩数据中的顺序和/或位置写出接收压缩编码值;重复执行所述获取n个数据流至写出所述n个压缩编码值的步骤,直至单次输出压缩编码值的数量小于n,之后终止获取数据流。上述数据压缩解压装置和数据压缩方法,可以并行压缩n个输入的数据流,且在输入和输出端均设置FIFO存储器,对输入的数据流以及输出的压缩编码结果均进行同步操作,保证了并行对待压缩数据的多个数据流进行压缩,或者对压缩数据进行解压时,输出的结果准确。附图说明图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存储器单次获取数据的字节数。执行的数据处理的类型包括压缩数据或解压数据。例如,在进行数据压缩时,输入FIFO存储器的输入位宽可以为64kb等数值。在进行数据解压时,输入FIFO存储器的输入位宽可以为16kb等数值。可选地,可以根据输出FIFO存储器113的面积以及执行的数据处理的类型设置输出位宽,其中,所述输入位宽为输出FIFO存储器单次输出数据的字节数。例如,在进行数据压缩时,输出FIFO存储器的位宽16kb等数值。在进行数据压缩时,输出FIFO存储器的输入位宽可以为64kb本文档来自技高网...

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

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


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


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


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


5.根据权利要求1或2所述的装置,其特征在于,所述装置还包括:控制电路和数据分割电路,所述控制电路分别连接所述数据分割电路和所述压缩操作执行组件中的输入FIFO存储器,
所述数据分割电路用于对输入数据执行分割操作,得到多个数据流;
所述控制电路用于控制所述数据分割电路执行分割操作,以及控制所述压缩解压操作执行组件执行压缩操作,所述压缩操作包含至少一个压缩子操作。


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


7.根据权利要求6所述的装置,其特征在于,
所述比较操作执行部件,具体用于查找码长边界表中排序值不小于当前数字的最小的排序值,根据所述码长边界表中排序值不小于当前数字的最小的排序值和所述码长表确定当前符号的编码码长。


8.根据权利要求1或2所述的装置,其特征在于,所述各个所述压缩解压操作执行组件中串接的压缩解压操作执行部件,包括:与连接所述输入FIFO存储器的游程编码执行部件,
所述游程编码执行部件,用于根据预设的游程位宽,以及输入的数据流中的指定数字和其他数字,分割所述输入的数据流,得到数据组;对所述数据组中除起始数字之外的其他数字进行游程编码,得到所述数据组的游程,以及将所述数据组的起始数字按照预设数值位宽进行转换得到各数据组中起始数字的编码值;将所述数据组中起始数字的编码值与游程作为所述数据组的编码值,并按照所述数据组在所述输入的数据流中的次序写出所述数据组的编码值。


9.根据权利要求8所述的装置,其特征在于,所述各个所述压缩解压操作执行组件还包括:设置于所述游程编码执行部件与所述输出FIFO存储器之间的替换操作执行部件,
所述替换操作执行部件,用于使用预设数字,替换起始值为所述指定数字且游程为最大值的数据组的编码值。


10.根据权利要求1或2所述的装置,其特征在于,所述各个所述压缩解压操作执行组件中串接的压缩操作执行部件,包括:依次串接的依次串接的游程编码执行部件、替换操作执行部件、查询操作执行部件、比较操作执行部件以及加法操作执行部件,所述加法操作执行部件连接所述输出FIFO存储器,其中,
所述游程编码执行部件,用于根据预设的游程位宽,以及输入的数据流中的指定数字和其他数字,分割所述输入的数据流,得到数据组;对所述数据组中除起始数字之外的其他数字进行游程编码,得到所述数据组的游程,以及将所述数据组的起始数字按照预设数值位宽进行转换得到各数据组中起始数字的编码值;将所述数据组中起始数字的编码值与游程作为所述数据组的编码值,按照所述数据组在所述输入的数据流中的次序写出所述数据组的编码值;
所述替换操作执行部件,用于获取所述数据组的编码值,并使用预设数字,替换起始值为所述指定数字且游程为最大值的数据组的编码值,得到所述数据流的替换编码;
所述查询操作执行部件,用于获取所述数据流的替换编码,并依次获取所述数据流的替...

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

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

1