CN117411491B - 数据压缩方法、装置、设备及存储介质 - Google Patents
数据压缩方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117411491B CN117411491B CN202311703418.4A CN202311703418A CN117411491B CN 117411491 B CN117411491 B CN 117411491B CN 202311703418 A CN202311703418 A CN 202311703418A CN 117411491 B CN117411491 B CN 117411491B
- Authority
- CN
- China
- Prior art keywords
- data
- frame
- sector
- effective
- intra
- 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
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013144 data compression Methods 0.000 title claims abstract description 41
- 238000004088 simulation Methods 0.000 claims abstract description 103
- 238000012216 screening Methods 0.000 claims abstract description 31
- 238000007906 compression Methods 0.000 claims description 72
- 230000006835 compression Effects 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 15
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 13
- 230000000903 blocking effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3064—Segmenting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请涉及一种数据压缩方法、装置、设备及存储介质,应用在芯片仿真验证技术领域,包括获取全量信号仿真数据和有效信号数据的信息;将所述全量信号仿真数据分割为若干预设数据大小的数据帧;根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组,并筛选出所述sector数据组中的有效sector数据组,所述有效sector数据组为包含所述有效信号数据的信息的sector数据组;对所述有效sector数据组进行压缩,得到压缩后的有效数据。本申请具有的技术效果是:压缩仿真数据,降低仿真数据传输及存储的负载,提高仿真验证的工作效率。
Description
技术领域
本申请涉及芯片仿真验证技术领域,尤其是涉及一种数据压缩方法、装置、设备及存储介质。
背景技术
在芯片仿真验证中,需要抓取信号值,通过观察信号波形的变换,以验证用户DUT是否正确;DUT也即芯片的待测试设计模块,芯片仿真验证的目的也即通过仿真验证以测试DUT是否正确,若DUT模块存在缺陷则需要对该缺陷进行修复。然而,随着芯片技术的发展,芯片各项功能和结构复杂度提升,使得DUT设计包含的信号越来越多,对应生成的波形数据越来越庞大,导致传输和存储都可能会产生巨大的压力。
目前,用户通常会通过在编译前选择需要抓取的信号来减少数据量,从而降低数据存储和传输的压力;然而,这种方式会存在一定的弊端,例如,用户会在抓取的信号中选择一部分数据进行观察,但是当用户需要观察抓取的信号中其他部分的信号时,用户需要重新选择信号进行编译、综合、下载、仿真等操作,从而可能会导致操作不便,并且花费大量的时间。
发明内容
为了有助于解决重选信号使得数据压缩操作不便,花费时间长的问题,本申请提供一种数据压缩方法、装置、设备及存储介质。
第一方面,本申请提供一种数据压缩方法,采用如下的技术方案:所述方法包括:
获取全量信号仿真数据和有效信号数据的信息;
将所述全量信号仿真数据分割为若干预设数据大小的数据帧;
根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组,并筛选出所述sector数据组中的有效sector数据组,所述有效sector数据组为包含所述有效信号数据的信息的sector数据组;
对所述有效sector数据组进行压缩,得到压缩后的有效数据。
通过上述技术方案,对获取到的数据进行分块、筛选和压缩的处理,使得可以减少仿真数据中的冗余信息,从而达到精简数据的目的;整个压缩过程操作简便,可以提升后续传输、存储工作的效率,进而可以减少时间的浪费,提高仿真效率。其中,对数据进行分块的操作,可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;筛选数据的目的在于筛选出用户需要的有用的数据,当用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
在一个具体的可实施方案中,所述将所述全量信号仿真数据分割为若干预设数据大小的数据帧包括:
将所述全量信号仿真数据与所述有效信号数据比较,并对所述全量信号仿真数据进行区分标记,生成信号仿真标记数据;
将所述全量信号仿真数据划分为若干预设数据大小的数据帧。
通过上述技术方案,对数据进行分块的操作分割成数据帧,可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;其中,对全量信号仿真数据进行区分标记可以获取到有用信号在全量信号仿真数据中的位置信息。
在一个具体的可实施方案中,所述根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组包括:
根据所述信号仿真标记数据生成序号和掩码列表;
将所述数据帧划分为若干预设数据大小的sector数据组;
所述筛选出所述sector数据组中的有效sector数据组包括:
将所述序号和掩码列表中,与序号对应的sector数据组以及与序号对应的掩码进行逻辑与的计算,生成有效sector数据组。
通过上述技术方案,对数据进行筛选操作,以筛选出用户需要的数据;采用该数据筛选方法对数据进行筛选,可以使用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需重新选择信号后进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
在一个具体的可实施方案中,所述对所述有效sector数据组进行压缩,得到压缩后的有效数据包括:
对所述有效sector数据组进行帧内压缩,并生成帧内压缩数据;
对所述有效sector数据组进行帧间压缩,并生成帧间压缩数据;
计算所述帧内压缩数据和所述帧间压缩数据的大小,将压缩后数据小的设为压缩后的有效数据。
通过上述技术方案,数据压缩包括帧内压缩和帧间压缩两种方式,帧内压缩,也即在数据帧内进行压缩,帧间压缩,也即数据帧与数据帧之间进行压缩,进行两种方式的压缩,并选择压缩后数据小的作为最终的压缩后的有效数据;提供的帧内和帧间两种压缩方式,用户可以根据信号波形的特点,灵活决定使用帧内压缩还是帧间压缩,减少数据的冗余信息,降低传输带宽要求,从而可以提升仿真效率。
在一个具体的可实施方案中,所述对所述有效sector数据组进行帧内压缩,并生成帧内压缩数据包括:
将当前所述有效sector数据组与上一个所述有效sector数据组比较,将不同的所述有效sector数据组以及不同的所述有效sector数据组对应的序号存储至新建的帧内sector序号列表;
根据所述帧内sector序号列表生成帧内sector描述列表;
对所述帧内sector描述列表进行压缩并生成帧内帧描述信息;
将所述帧内sector序号列表,所述帧内sector描述列表和所述帧内帧描述信息组合生成关键帧,并将所述关键帧设为帧内压缩数据。
在一个具体的可实施方案中,所述对所述有效sector数据组进行帧间压缩,并生成帧间压缩数据包括:
将当前数据帧的所述有效sector数据组与上一个数据帧的相同序号的所述有效sector数据组比较;
若所述有效sector数据组不同,则将不同的所述有效sector数据组以及不同的所述有效sector数据组对应的序号存储至新建的帧间sector序号列表;
根据所述帧间sector序号列表生成帧间sector描述列表;
对所述帧间sector描述列表进行压缩并生成帧间帧描述信息;
将所述帧间sector序号列表,所述帧间sector描述列表和所述帧间帧描述信息组合生成差异帧,并将所述差异帧设为帧间压缩数据。
在一个具体的可实施方案中,在所述将压缩后数据小的设为压缩后的有效数据之后,还包括:
对所述压缩后的有效数据添加帧头。
通过上述技术方案,对压缩后的数据添加帧头,帧头主要包含分块数据标志符、帧类型以及帧长度等信息;添加帧头的目的在于便于后期对数据的解压操作。
第二方面,本申请提供一种数据压缩装置,用于实现上述任意一项所述的数据压缩方法,采用如下技术方案:所述装置包括:
数据获取模块,用于获取全量信号仿真数据和有效信号数据的信息;
数据分割模块,用于将所述全量信号仿真数据分割为若干预设数据大小的数据帧;
数据筛选模块,用于根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组,并筛选出所述sector数据组中的有效sector数据组,所述有效sector数据组为包含所述有效信号数据的信息的sector数据组;
数据压缩模块,用于对所述有效sector数据组进行压缩,得到压缩后的有效数据。
第三方面,本申请提供一种计算机设备,采用如下技术方案:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种数据压缩方法的计算机程序。
第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理器加载并执行上述任一种数据压缩方法的计算机程序。
综上所述,本申请具有以下有益技术效果:
对获取到的数据进行分块、筛选和压缩的处理,使得可以减少仿真数据中的冗余信息,从而达到精简数据的目的;采用该数据压缩方法可以达到压缩仿真数据的目的,降低仿真数据传输及存储的负载,提高仿真验证的工作效率;整个压缩过程操作简便,可以提升后续传输、存储工作的效率,进而可以减少时间的浪费,提高仿真效率。其中,对数据进行分块的操作,可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;筛选数据的目的在于筛选出用户需要的有用的数据,当用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
附图说明
图1是本申请实施例中数据压缩方法的流程图;
图2是本申请实施例中数据分块、筛选和压缩的完整框图;
图3是本申请实施例中生成序号和掩码列表的示意图;
图4是本申请实施例中生成有效sector数据组的示意图;
图5是本申请实施例中帧内压缩的示意图;
图6是本申请实施例中数据压缩装置的示意图;
图7是本申请实施例中用于体现计算机设备的示意图。
附图标记:601、数据获取模块;602、数据分割模块;603、数据筛选模块;604、数据压缩模块。
具体实施方式
以下结合图1-图7对本申请作进一步详细说明。
本申请实施例公开一种数据压缩方法,该方法应用于数据压缩系统。用户采用该数据压缩方法可以在芯片仿真时,对仿真的数据进行分块、筛选和压缩后再进行传输和存储操作,以减少仿真数据中的冗余信息,从而减少需要传输或存储的数据量,使得在进行数据存储时可以节省空间资源,或是在进行数据传输时提高数据传输效率。目前,通常采用的方法是在编译前选择需要抓取的信号来减少数据量以降低数据存储和传输的压力;然而,当用户需要更换观测数据时,用户需要重新选择信号进行编译、综合、下载、仿真等操作,从而可能会导致操作不便,并且花费大量的时间。为了有助于提高仿真数据的传输和存储效率,本申请提出一种数据压缩方法。
参照图1,该方法包括以下步骤:
S10,获取全量信号仿真数据和有效信号数据的信息。
具体来说,系统获取需要进行压缩处理的仿真数据,获取方式可以为用户获得仿真数据后传输至系统,系统接收到用户传输的仿真数据,也即系统获取到了全量信号仿真数据;也可以是,系统中设置数据采集模块,在芯片仿真时采集仿真数据以获取到全量信号仿真数据。用户可以根据芯片仿真的实际需要选择有用的信号,也即有效信号,并将选择好的有效信号数据的信息传输至系统,系统接收到有效信号数据的信息。
S20,将全量信号仿真数据分割为若干预设数据大小的数据帧。
具体来说,将获取到的全量信号仿真数据先进行分块处理,将全量信号仿真数据分割为若干预设数据大小的数据帧;预设数据大小可以根据用户实际需求进行设定,此处不做限制;例如,在本申请实施例中设定的数据大小为32*1024bits,也即,1024个32k bits的数据块,一个32k bits的数据块也可以理解为一个数据帧。对仿真数据进行分块操作可以在全量信号很多的情况下,并行处理数据,提升处理速度。
S30,根据有效信号数据的信息将数据帧划分为若干预设数据大小的sector数据组,并筛选出sector数据组中的有效sector数据组,有效sector数据组为包含有效信号数据的信息的sector数据组。
具体来说,先根据有效信号数据的信息将分块后的数据帧继续划分为预设数据大小的sector数据组,数据大小可以根据用户实际需求进行设定,此处不做限制,例如,在本申请实施例中数据大小可以设为32bits,划分后的每个sector数据组的大小即为32bits;之后,根据用户选择的信号筛选出有效数据信号,并删除无用的数据信号,以生成筛选后的有效sector数据组,最终生成的有效sector数据组中包含用户需要选择的有用信号的数据信息。数据筛选操作可以使用户如需修改选择观测信号,只需在仿真时重新设定选择信号列表,无需重新编译、综合DUT文件,从而可以节省时间,提高芯片仿真验证效率。
S40,对有效sector数据组进行压缩,得到压缩后的有效数据。
具体来说,对筛选得到的有效sector数据组进行压缩处理,得到压缩后的有效数据,经过压缩处理后可以减小数据大小,从而可以降低数据存储和传输的压力,使得可以提高芯片仿真验证的工作效率。
参照图2,本申请实施例的数据压缩方法包括了分块、筛选和压缩的步骤;首先获取到数据signal 0-signal N,获取信号数据的方式可以为用户直接输入,也可以是系统中设置有数据采集模块采集得到的信号仿真数据,例如,图2中,以数据采集模块采集信号数据为例进行说明;之后对数据进行分割处理,分割为若干个32k bits的数据块,一个32kbits的数据块也即一个数据帧,分块后得到的若干数据块也即分割后的若干数据帧;之后对分割处理后的数据帧进行划分后得到数据组,再进行筛选,最后对筛选后的有效数据组进行压缩处理得到最后的压缩数据,并输出压缩数据的结果。
在本申请方案中,对获取到的数据进行分块、筛选和压缩的处理,使得可以减少仿真数据中的冗余信息,从而达到精简数据的目的;整个压缩过程操作简便,可以提升后续传输、存储工作的效率,进而可以减少时间的浪费,提高仿真效率。其中,对数据进行分块的操作,可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;筛选数据的目的在于筛选出用户需要的有用的数据,当用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
在一个实施例中,将全量信号仿真数据分割为若干预设数据大小的数据帧可以被具体执行为:
首先,将全量信号仿真数据与有效信号数据比较,并对全量信号仿真数据进行区分标记,生成信号仿真标记数据,区分标记的目的在于可以获取选择的有用信号在全量信号仿真数据中的位置信息,区分标记的方式可以为采用0和1的标记方式进行标记,也可以采用其他标记方式标记,用户可以根据实际需求自行设定,此处不做限制,在本申请实施例中以0和1标记的方式为例进行说明,将用户选择的有用信号各bit位设为1,未选择的无用信号的各bit位设为0,之后将标记过0和1的数据设为信号仿真标记数据。之后将全量信号仿真数据根据预设数据大小分割成数据帧,预设的数据大小可以根据用户实际需求进行设定,此处不做限制,本申请实施例以32k bits进行划分为例,将仿真数据划分为32k bits大小的数据块,一个32k bits大小的数据块即为一个数据帧。
在本申请方案中,对数据进行分块的操作分割成数据帧,可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;其中,对全量信号仿真数据进行区分标记可以获取到有用信号在全量信号仿真数据中的位置信息。
在一个实施例中,根据有效信号数据的信息将数据帧划分为若干预设数据大小的sector数据组可以被具体执行为:
首先,将信号仿真标记数据划分为预设大小的数据组,根据信号仿真标记数据的数据组生成对应的若干个掩码,之后根据信号仿真标记数据组的序号以及对应的掩码生成序号和掩码列表;例如,在本申请实施例中,以0和1标记的方式为例进行说明,用户将选择的有用信号各bit位设为1,未选择的无用信号的各bit位设为0,得到的信号数据为一串0和1组成的二进制数据,之后将信号仿真标记数据按照32 bits进行划分,一个信号仿真标记数据组中的bit位有的是0有的是1,1表示的即为用户选择的有用信号的bit位,将每个标记数据组中的0和1组成的二进制数据转换成十六进制可以得到标记数组对应的掩码,将标记数组的序号和对应的掩码组合可以生成序号和掩码列表;进而将数据帧划分为若干预设数据大小的sector数据组,其中,预设的数据大小可以由用户根据需求自由设定,此处不做限制,本申请实施例以32bits为例进行说明。之后,筛选出sector数据组中的有效sector数据组可以被具体执行为:将序号和掩码列表中,与序号对应的sector数据组以及与序号对应的掩码进行逻辑与的计算,最终生成有效sector数据组。
在本申请方案中,对数据进行筛选操作,以筛选出用户需要的数据;采用该数据筛选方法对数据进行筛选,可以使用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需重新选择信号后进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
参照图3和图4,图3和图4为本申请实施例中仿真数据分割和数据筛选过程示例的示意图。图3为本申请实施例中生成序号和掩码列表的示意图,假设获取到N个信号,每个信号的大小不同,用户根据实际需要选择信号集(2、4、6、8),之后对信号中的每一个bit位进行0和1标记,选择出来的信号集(2、4、6、8)中的数据每个bit位标记为1,其余信号数据标记为0;之后,将标记数据按照32 bits划分成若干个标记数据组,并根据标记数据组中的标记数据将二进制转换成十六进制,生成标记数据组对应的掩码;之后将标记数据组的序号信息和对应的掩码存储至序号和掩码列表,参照图3中最后生成的序号和掩码表。图4为本申请实施例中生成有效sector数据组的示意图,图中波形信号数据为划分后的若干数据帧中的一帧数据,将一个数据帧的数据按照32bits数据大小划分成若干个sector数据组,将序号和掩码列表中,与序号对应的sector数据组以及与序号对应的掩码进行逻辑与的计算,生成有效sector数据组,参照图4中的输出数据。
经过数据分割可以使得在全量信号仿真数据很多的情况下并行处理数据,提升处理速度;数据筛选可以使用户需要修改观测的信号时,只需在仿真时重新设定选择信号列表,无需重新选择信号后进行重新编译、综合文件等操作,从而可以节省时间,提高芯片仿真验证的工作效率。
在一个实施例中,对有效sector数据组进行压缩,得到压缩后的有效数据可以被具体执行为:
对有效sector数据组进行帧内压缩和帧间压缩,分别生成帧内压缩数据和帧间压缩数据,之后计算帧内压缩数据和帧间压缩数据的大小,将压缩后数据小的设为压缩后的有效数据。
在本申请方案中,数据压缩包括帧内压缩和帧间压缩两种方式,帧内压缩,也即在数据帧内进行压缩,帧间压缩,也即数据帧与数据帧之间进行压缩,进行两种方式的压缩,并选择压缩后数据小的作为最终的压缩后的有效数据;提供的帧内和帧间两种压缩方式,用户可以根据信号波形的特点,灵活决定使用帧内压缩还是帧间压缩,减少数据的冗余信息,降低传输带宽要求,从而可以提升仿真效率。
在一个实施例中,对有效sector数据组进行帧内压缩,并生成帧内压缩数据可以被具体执行为:
首先,将一个数据帧内当前有效sector数据组与上一个有效sector数据组进行比较,如果有效sector数据组相同则忽略,如果有效sector数据组不同,则将不同的有效sector数据组以及不同的有效sector数据组对应的序号存储至新建的帧内sector序号列表;之后,根据帧内sector序号列表生成帧内sector描述列表,可以根据帧内sector序号列表生成bit数组以生成帧内sector描述列表,例如,通过设置对应序号位置上的bit为1来标志其位置,若最后保留的sector数据组的序号是1、5、10,则该bit数组上的第1、第5、第10位设置为1,其余均为0。由于sector描述列表还是比较大,因此需要对sector描述列表进行压缩后得到帧内帧描述信息,压缩方法可以为,先对sector描述列表按照预设的数据大小进行分组,预设的数据大小可以为32bits,不限制划分的数据大小,用户可以根据实际需求进行设定,本申请实施例中以32bits进行说明;之后将划分后的sector描述列表数据组中32个bit都为0的组去除,同时生成一个描述序号列表,列表元素为最终保留的数据组的序号,可以使用一个32bits的数组来表示,将32bits的数组设为帧内帧描述信息。最后,将帧内sector序号列表,帧内sector描述列表和帧内帧描述信息组合生成关键帧,并将关键帧设为帧内压缩数据。参照图5,划分成sector数据组后,sector0、sector2和sector5数据组的数据相同,sector32数据组的数据不同,保留两组数据,也即0x00001234和0x00002222,图5中payload也即数据值,之后根据帧内sector序号列表生成帧内sector描述列表,图5中sector descriptor也即帧内sector描述列表,将帧内sector描述列表压缩后生成帧内帧描述信息,图5中frame descriptor也即帧内帧描述信息。
在一个实施例中,对有效sector数据组进行帧间压缩,并生成帧间压缩数据可以被具体执行为:
首先,将当前数据帧的有效sector数据组与上一个数据帧的相同序号的有效sector数据组比较,若有效sector数据组相同则忽略,若有效sector数据组不同,则将不同的有效sector数据组以及不同的有效sector数据组对应的序号存储至新建的帧间sector序号列表;之后,根据帧间sector序号列表生成帧间sector描述列表,可以根据帧间sector序号列表生成bit数组以生成帧间sector描述列表,例如,通过设置对应序号位置上的bit为1来标志其位置,若最后保留的sector数据组的序号是1、5、10,则该bit数组上的第1、第5、第10位设置为1,其余均为0。由于sector描述列表还是比较大,因此需要对sector描述列表进行压缩后得到帧间帧描述信息,压缩方法可以为,先对sector描述列表按照预设的数据大小进行分组,预设的数据大小可以为32bits,不限制划分的数据大小,用户可以根据实际需求进行设定,本申请实施例中以32bits进行说明;之后将划分后的sector描述列表数据组中32个bit都为0的组去除,同时生成一个描述序号列表,列表元素为最终保留的数据组的序号,可以使用一个32bits的数组来表示,将32bits的数组设为帧间帧描述信息。最后,将帧间sector序号列表,帧间sector描述列表和帧间帧描述信息组合生成差异帧,并将差异帧设为帧间压缩数据。
获得帧内压缩数据和帧间压缩数据后,比较帧内压缩数据的大小和帧间压缩数据的大小,以选择数据更小的作为压缩后的有效数据。
帧内和帧间两种压缩方式,帧内压缩也即在数据帧内进行压缩,帧间压缩也即数据帧与数据帧之间进行压缩,两种压缩方式选择压缩后数据小的作为最终的压缩后的有效数据;提供的帧内和帧间两种压缩方式,用户可以根据信号波形的特点,灵活决定使用帧内压缩还是帧间压缩,减少数据的冗余信息,降低传输带宽要求,从而可以提升仿真效率。
在一个实施例中,考虑到后续使用数据时解压数据不便,因此在将压缩后数据小的设为压缩后的有效数据之后还可以执行以下步骤:
对压缩后的有效数据添加帧头,可以理解为,为压缩后的每一帧数据添加帧头,其中,帧头主要包括分块数据标志符、帧类型以及帧长度等信息,以便于后期的数据的解压工作。
在本申请方案中,对压缩后的数据添加帧头,帧头主要包含分块数据标志符、帧类型以及帧长度等信息;添加帧头的目的在于便于后期对数据的解压操作,使得可以正常使用解压后的数据。
图1为一个实施例中数据压缩方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行;除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行;并且图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
基于上述方法,本申请实施例还公开一种数据压缩装置。
参照图6,该装置包括以下模块:
数据获取模块601,用于获取全量信号仿真数据和有效信号数据的信息;
数据分割模块602,用于将全量信号仿真数据分割为若干预设数据大小的数据帧;
数据筛选模块603,用于根据有效信号数据的信息将数据帧划分为若干预设数据大小的sector数据组,并筛选出sector数据组中的有效sector数据组,有效sector数据组为包含有效信号数据的信息的sector数据组;
数据压缩模块604,用于对有效sector数据组进行压缩,得到压缩后的有效数据。
在一个实施例中,数据分割模块602,具体用于,将全量信号仿真数据与有效信号数据比较,并对全量信号仿真数据进行区分标记,生成信号仿真标记数据;将全量信号仿真数据划分为若干预设数据大小的数据帧。
在一个实施例中,数据筛选模块603,具体用于,根据信号仿真标记数据生成序号和掩码列表;将数据帧划分为若干预设数据大小的sector数据组;筛选出sector数据组中的有效sector数据组包括:将序号和掩码列表中,与序号对应的sector数据组以及与序号对应的掩码进行与计算,生成有效sector数据组。
在一个实施例中,数据压缩模块604,具体用于,对有效sector数据组进行帧内压缩,并生成帧内压缩数据;对有效sector数据组进行帧间压缩,并生成帧间压缩数据;计算帧内压缩数据和帧间压缩数据的大小,将压缩后数据小的设为压缩后的有效数据。
在一个实施例中,数据压缩模块604,还用于,将当前有效sector数据组与上一个有效sector数据组比较,将不同的有效sector数据组以及不同的有效sector数据组对应的序号存储至新建的帧内sector序号列表;根据帧内sector序号列表生成帧内sector描述列表;对帧内sector描述列表进行压缩并生成帧内帧描述信息;将帧内sector序号列表,帧内sector描述列表和帧内帧描述信息组合生成关键帧,并将关键帧设为帧内压缩数据。
在一个实施例中,数据压缩模块604,还用于,将当前数据帧的有效sector数据组与上一个数据帧的相同序号的有效sector数据组比较;若有效sector数据组不同,则将不同的有效sector数据组以及不同的有效sector数据组对应的序号存储至新建的帧间sector序号列表;根据帧间sector序号列表生成帧间sector描述列表;对帧间sector描述列表进行压缩并生成帧间帧描述信息;将帧间sector序号列表,帧间sector描述列表和帧间帧描述信息组合生成差异帧,并将差异帧设为帧间压缩数据。
在一个实施例中,数据压缩模块604,还用于,对压缩后的有效数据添加帧头。
本申请实施例提供的数据压缩装置,可以应用于如上述实施例中提供的数据压缩方法,相关细节参考上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
需要说明的是:本申请实施例中提供的数据压缩装置在进行数据压缩时,仅以上述各功能模块/功能单元的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块/功能单元完成,即将数据压缩装置的内部结构划分成不同的功能模块/功能单元,以完成以上描述的全部或者部分功能。另外,上述方法实施例提供的数据压缩方法的实施方式与本实施例提供的数据压缩装置的实施方式属于同一构思,本实施例提供的数据压缩装置的具体实现过程详见上述方法实施例,这里不再赘述。
本申请实施例还公开一种计算机设备。
具体来说,如图7所示,该计算机设备可以是桌上型计算机、笔记本电脑、掌上电脑以及云端服务器等计算机设备。该计算机设备可以包括,但不限于,处理器和存储器。其中,处理器和存储器可以通过总线或者其他方式连接。其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、图形处理器(Graphics Processing Unit,GPU)、嵌入式神经网络处理器(Neural-network Processing Unit,NPU)或者其他专用的深度学习协处理器、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请上述实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还公开一种计算机可读存储介质。
具体来说,计算机可读存储介质用于存储计算机程序,计算机程序被处理器执行时,实现上述方法实施方式中的方法。本领域技术人员可以理解,实现本申请上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (7)
1.一种数据压缩方法,其特征在于:所述方法包括:
获取全量信号仿真数据和有效信号数据的信息;
将所述全量信号仿真数据分割为若干预设数据大小的数据帧;
根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组,并筛选出所述sector数据组中的有效sector数据组,所述有效sector数据组为包含所述有效信号数据的信息的sector数据组;
对所述有效sector数据组进行压缩,得到压缩后的有效数据;
所述将所述全量信号仿真数据分割为若干预设数据大小的数据帧包括:
将所述全量信号仿真数据与所述有效信号数据比较,并对所述全量信号仿真数据进行区分标记,生成信号仿真标记数据;
将所述全量信号仿真数据划分为若干预设数据大小的数据帧;
所述根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组包括:
根据所述信号仿真标记数据生成序号和掩码列表;
将所述数据帧划分为若干预设数据大小的sector数据组;
所述筛选出所述sector数据组中的有效sector数据组包括:
将所述序号和掩码列表中,与序号对应的sector数据组以及与序号对应的掩码进行逻辑与的计算,生成有效sector数据组;
所述对所述有效sector数据组进行压缩,得到压缩后的有效数据包括:
对所述有效sector数据组进行帧内压缩,并生成帧内压缩数据;
对所述有效sector数据组进行帧间压缩,并生成帧间压缩数据;
计算所述帧内压缩数据和所述帧间压缩数据的大小,将压缩后数据小的设为压缩后的有效数据;
帧内压缩,在数据帧内进行压缩;帧间压缩,数据帧与数据帧之间进行压缩。
2.根据权利要求1所述的方法,其特征在于:所述对所述有效sector数据组进行帧内压缩,并生成帧内压缩数据包括:
将当前所述有效sector数据组与上一个所述有效sector数据组比较,将不同的所述有效sector数据组以及不同的所述有效sector数据组对应的序号存储至新建的帧内sector序号列表;
根据所述帧内sector序号列表生成帧内sector描述列表;
对所述帧内sector描述列表进行压缩并生成帧内帧描述信息;
将所述帧内sector序号列表,所述帧内sector描述列表和所述帧内帧描述信息组合生成关键帧,并将所述关键帧设为帧内压缩数据。
3.根据权利要求1所述的方法,其特征在于:所述对所述有效sector数据组进行帧间压缩,并生成帧间压缩数据包括:
将当前数据帧的所述有效sector数据组与上一个数据帧的相同序号的所述有效sector数据组比较;
若所述有效sector数据组不同,则将不同的所述有效sector数据组以及不同的所述有效sector数据组对应的序号存储至新建的帧间sector序号列表;
根据所述帧间sector序号列表生成帧间sector描述列表;
对所述帧间sector描述列表进行压缩并生成帧间帧描述信息;
将所述帧间sector序号列表,所述帧间sector描述列表和所述帧间帧描述信息组合生成差异帧,并将所述差异帧设为帧间压缩数据。
4.根据权利要求1所述的方法,其特征在于:在所述将压缩后数据小的设为压缩后的有效数据之后,还包括:
对所述压缩后的有效数据添加帧头。
5.一种数据压缩装置,用于实现权利要求1至4中任意一项所述的数据压缩方法,其特征在于:所述装置包括:
数据获取模块(601),用于获取全量信号仿真数据和有效信号数据的信息;
数据分割模块(602),用于将所述全量信号仿真数据分割为若干预设数据大小的数据帧;
数据筛选模块(603),用于根据所述有效信号数据的信息将所述数据帧划分为若干预设数据大小的sector数据组,并筛选出所述sector数据组中的有效sector数据组,所述有效sector数据组为包含所述有效信号数据的信息的sector数据组;
数据压缩模块(604),用于对所述有效sector数据组进行压缩,得到压缩后的有效数据。
6.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至4中任一项所述的方法的计算机程序。
7.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至4中任一项所述的方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311703418.4A CN117411491B (zh) | 2023-12-13 | 2023-12-13 | 数据压缩方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311703418.4A CN117411491B (zh) | 2023-12-13 | 2023-12-13 | 数据压缩方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117411491A CN117411491A (zh) | 2024-01-16 |
CN117411491B true CN117411491B (zh) | 2024-02-20 |
Family
ID=89487422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311703418.4A Active CN117411491B (zh) | 2023-12-13 | 2023-12-13 | 数据压缩方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117411491B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0347032A2 (en) * | 1988-05-20 | 1989-12-20 | International Business Machines Corporation | Record format emulation |
JP2005044465A (ja) * | 2003-07-25 | 2005-02-17 | Sony Corp | 記録装置および方法 |
US10803272B1 (en) * | 2016-09-26 | 2020-10-13 | Digimarc Corporation | Detection of encoded signals and icons |
CN115758206A (zh) * | 2022-11-07 | 2023-03-07 | 武汉麓谷科技有限公司 | 一种快速查找ZNS固态硬盘中NorFlash上次写结束位置的方法 |
WO2023185969A1 (zh) * | 2022-03-30 | 2023-10-05 | 三峡智控科技有限公司 | 一种实时数据的压缩传输方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050135244A1 (en) * | 2003-12-19 | 2005-06-23 | Comunication Machinery Corporation | Wireless network load generator address mask manipulation |
WO2023049374A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Hybrid neural network based end-to-end image and video coding method |
-
2023
- 2023-12-13 CN CN202311703418.4A patent/CN117411491B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0347032A2 (en) * | 1988-05-20 | 1989-12-20 | International Business Machines Corporation | Record format emulation |
JP2005044465A (ja) * | 2003-07-25 | 2005-02-17 | Sony Corp | 記録装置および方法 |
US10803272B1 (en) * | 2016-09-26 | 2020-10-13 | Digimarc Corporation | Detection of encoded signals and icons |
WO2023185969A1 (zh) * | 2022-03-30 | 2023-10-05 | 三峡智控科技有限公司 | 一种实时数据的压缩传输方法 |
CN115758206A (zh) * | 2022-11-07 | 2023-03-07 | 武汉麓谷科技有限公司 | 一种快速查找ZNS固态硬盘中NorFlash上次写结束位置的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117411491A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114723033B (zh) | 数据处理方法、装置、ai芯片、电子设备及存储介质 | |
CN110377226B (zh) | 基于存储引擎bluestore的压缩方法、装置及存储介质 | |
CN107027036A (zh) | 一种fpga异构加速平台的解压缩方法、装置及系统 | |
CN110784225A (zh) | 数据压缩、解压方法及相关装置、电子设备、系统 | |
CN112165331A (zh) | 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备 | |
CN116894413B (zh) | 一种基于硬件的逻辑映射方法、装置、设备及存储介质 | |
CN105700821B (zh) | 半导体装置及其压缩/解压缩方法 | |
CN112633507A (zh) | 一种将复向量编码到量子线路的方法及装置 | |
CN113176992B (zh) | A/b实验分流方法、装置和计算机可读存储介质 | |
CN110399511A (zh) | 基于Redis的图片缓存方法、设备、存储介质及装置 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN109697083B (zh) | 数据的定点化加速方法、装置、电子设备及存储介质 | |
CN117411491B (zh) | 数据压缩方法、装置、设备及存储介质 | |
KR20210097448A (ko) | 영상 데이터 처리 방법 및 영상 데이터 처리 방법을 수행하는 센서 장치 | |
Orellana-Romero et al. | Sim-LIT: A simulation framework for image quality assessment in wireless visual sensor networks under packet loss conditions | |
CN114881238A (zh) | 量子鉴别器的构造方法、装置、介质及电子装置 | |
CN114881239A (zh) | 量子生成器的构造方法、装置、介质及电子装置 | |
CN113535540A (zh) | 一种数据测试方法、装置、系统、设备及存储介质 | |
CN112069022A (zh) | 一种npu型服务器功耗测试方法及系统 | |
CN115796239B (zh) | Ai算法架构的实现装置、卷积计算装置及相关方法与设备 | |
CN115423108B (zh) | 量子线路切割处理方法、装置及量子计算机操作系统 | |
WO2024114304A1 (zh) | 一种运算资源处理方法以及相关设备 | |
CN114372582B (zh) | 基于机器学习框架的量子自动编码方法及相关装置 | |
US20230195536A1 (en) | Data offloading processes and systems | |
EP4328807A1 (en) | Method and apparatus for adaptating to quantum computing platform, and quantum computer operating system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data compression methods, devices, equipment, and storage media Granted publication date: 20240220 Pledgee: WUXI BRANCH, INDUSTRIAL BANK CO.,LTD. Pledgor: Wuxi Yake Hongyu Electronics Co.,Ltd. Registration number: Y2024980030522 |