CN117097442B - 一种数据解码方法、***、设备及计算机可读存储介质 - Google Patents
一种数据解码方法、***、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117097442B CN117097442B CN202311358443.3A CN202311358443A CN117097442B CN 117097442 B CN117097442 B CN 117097442B CN 202311358443 A CN202311358443 A CN 202311358443A CN 117097442 B CN117097442 B CN 117097442B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- decompressed
- value
- triplet
- 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 52
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000000875 corresponding effect Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
- H04L1/0016—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种数据解码方法、***、设备及计算机可读存储介质,涉及编解码技术领域,获取目标三元组;若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据;基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。本发明在目标单元组对应的待解压数据只来自待解压的目标数据时,可以直接生成进行数据拼接的待拼接数据,可以稳定、高效的生成待拼接数据,从而可以提高带宽利用率并保证带宽稳定性。
Description
技术领域
本发明涉及编解码技术领域,更具体地说,涉及一种数据解码方法、***、电子设备及计算机可读存储介质。
背景技术
随着大数据、人工智能、云计算和5G(5th-Generation Mobile CommunicationTechnology,第五代移动通信技术)技术的创新,数据发生了***性的增长,如何有效存储和更快传输数据变得越来越有挑战性。数据压缩能够降低数据的存储和传输成本,是提高I/O(Input/Output,输入/输出)性能和存储利用率的有效方法之一。比如可以应用LZ77算法对数据进行编解码等,然而,在应用LZ77算法进行解码的过程中,存在带宽利用率低、不稳定的情况。
综上所述,如何提高LZ77算法解码时的带宽利用率并保证带宽稳定性是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种数据解码方法,其能在一定程度上解决如何提高LZ77算法解码时的带宽利用率并保证带宽稳定性的技术问题。本发明还提供了一种数据解码***、电子设备及计算机可读存储介质。
为了实现上述目的,本发明提供如下技术方案:
一种数据解码方法,包括:
获取目标三元组;
若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据;
基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,以对所述待拼接数据进行拼接得到所述目标三元组对应的数据解码结果。
优选的,所述若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据之前,还包括:
判断所述偏移值是否小于等于所述数据长度值;
若所述偏移值小于等于所述数据长度值,则判定所述目标三元组对应的所述待解压数据只来自待解压的所述目标数据;
若所述偏移值大于所述数据长度值,则判定所述目标三元组对应的所述待解压数据来自待解压的所述目标数据和上一三元组的解码结果。
优选的,所述基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,包括:
确定所述拼接单元大小值所对应的数据个数值;
通过第一运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第一组待拼接数据;
通过第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第组待拼接数据,/>;
所述第一运算公式包括:
,/>,/>;
其中,表示所述第一组待拼接数据中的第/>个数据;/>表示所述待解压数据中的第(/>)个数据;/>表示所述数据长度值;/>表示所述偏移值;表示求余运算;/>表示所述数据个数值;/>表示所述匹配长度值;/>表示向上取整;
所述第二运算公式包括:
,/>,/>;
其中,表示所述第/>组待拼接数据中的第/>个数据;/>表示第组待解压数据中的第(/>)个数据。
优选的,所述通过第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第组待拼接数据,包括:
重复执行传输第组待拼接数据至拼接器进行拼接,同时通过所述第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第/>组待拼接数据的步骤,直至结束。
优选的,所述确定所述拼接单元大小值所对应的数据个数值,包括:
将所述拼接单元大小值与数据单位存储空间值进行相除,得到所述数据个数值。
优选的,所述,还包括:
若所述目标数据中的所有数据均为相同的单一数据,则对所有三元组中的匹配长度值进行加和,得到目标长度值;
对所述单一数据扩展所述目标长度值份,得到所述目标数据的目标解码结果。
优选的,还包括:
若所述目标数据中的数据存在目标标记,则在所述目标数据中,将所述目标标记对应的数据直接作为对应的数据解码结果;
其中,所述目标标记包括对跳过编码的目标原始数据添加的标记,所述目标原始数据包括编码后得到的三元组中的偏移值大于数据长度值的数据。
一种数据解码***,包括:
获取模块,用于获取目标三元组;
读取模块,用于若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据;
第一解码模块,用于基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,以对所述待拼接数据进行拼接得到所述目标三元组对应的数据解码结果。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述数据解码方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据解码方法的步骤。
本发明提供的一种数据解码方法,获取目标三元组;若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据;基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。本发明中,在目标单元组对应的待解压数据只来自待解压的目标数据时,可以直接基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据来生成进行数据拼接的待拼接数据,与每次根据偏移值从解压空间中恢复出当前位的一个数据的方案相比,可以稳定、高效的生成待拼接数据,从而可以稳定、高效的进行数据拼接以解码,也即可以提高带宽利用率并保证带宽稳定性。本发明提供的一种数据解码***、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据解码方法的第一流程图;
图2为待解压数据只来自待解压的目标数据的三元组的示意图;
图3为现有解压硬件结构图;
图4为数据流向路径示意图;
图5为目标数据中的所有数据均为相同的单一数据的示意图;
图6为偏移值大于数据长度值的三元组的示意图;
图7为本发明实施例提供的一种数据解码***的结构示意图;
图8为本发明实施例提供的一种电子设备的结构示意图;
图9为本发明实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种数据解码方法的第一流程图。
本发明实施例提供的一种数据解码方法,可以包括以下步骤:
步骤S101:获取目标三元组。
实际应用中,在进行数据解码的过程中,可以先获取目标三元组,目标三元组可以是通过LZ77算法对数据进行压缩后得到的三元组等,且三元组可以包括数据长度值LL、偏移值及OF匹配长度值ML,其中,数据长度值用于表征该三元组所对应的不可压缩数据的长度值,偏移值用于表征匹配数据在原始数据中的相对位置,匹配长度值用于表征匹配数据的个数值。
步骤S102:若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据。
实际应用中,在获取目标三元组后,需对目标三元组的类型进行判断,若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据来按照本发明方案进行处理。
具体应用场景中,待解压数据只来自待解压的目标数据的三元组的类型如图2所示,其中,seq表示三元组,Literal表示待解压数据,此时的三元组为(2,6,2),且该三元组对应的待解压数据为AB,经研究可知,当三元组中的偏移值小于等于数据长度值时,待解压数据只来自待解压的目标数据,而不依赖前一三元组的解压结果,所以在若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据的过程中,还可以判断偏移值是否小于等于数据长度值;若偏移值小于等于数据长度值,则判定目标三元组对应的待解压数据只来自待解压的目标数据;若偏移值大于数据长度值,则判定目标三元组对应的待解压数据来自待解压的目标数据和上一三元组的解码结果。
步骤S103:基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。
实际应用中,在得到待解压数据之后,便可以基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。换言之,本发明可以基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,直接通过计算来生成进行数据拼接的待拼接数据,无需每次根据偏移值进行数据读取来得到当前位的待拼接数据,可以高效、稳定的生成待拼接数据。
本发明提供的一种数据解码方法,获取目标三元组;若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据;基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。本发明中,在目标单元组对应的待解压数据只来自待解压的目标数据时,可以直接基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据来生成进行数据拼接的待拼接数据,与每次根据偏移值从解压空间中恢复出当前位的一个数据的方案相比,可以稳定、高效的生成待拼接数据,从而可以稳定、高效的进行数据拼接以解码,也即可以提高带宽利用率并保证带宽稳定性。
在前述实施例的基础上,基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据的过程,可以具体为:确定拼接单元大小值所对应的数据个数值;通过第一运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第一组待拼接数据;通过第二运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第组待拼接数据,/>;
第一运算公式包括:
,/>,/>;
其中,表示第一组待拼接数据中的第/>个数据;/>表示待解压数据中的第(/>)个数据;/>表示数据长度值;/>表示偏移值;/>表示求余运算;表示数据个数值;/>表示匹配长度值;/>表示向上取整;
第二运算公式包括:
,/>,/>;
其中,表示所述第/>组待拼接数据中的第/>个数据;/>表示第组待解压数据中的第(/>)个数据。
需要说明的是,本发明中数据的编号从1开始,具体应用场景中可以根据数据的编号方式来灵活调整本发明中的运算公式。此外,为了便于理解本发明运算公式的功能,假设拼接单元大小值所对应的数据个数值为8,待解压数据为S[7] S[6] S[5] S[4] S[3] S[2]S[1] S[0],则各偏移值下,解压数据空间中的第一组待拼接数据为:
1: match_data = {S[0],S[0],S[0],S[0],S[0],S[0],S[0],S[0]},此时,第一个数据S[0]为该轮过程中读取的待解压数据;
2: match_data = {S[1],S[0],S[1],S[0],S[1],S[0],S[1],S[0]},此时,前两个数据S[1],S[0]为该轮过程中读取的待解压数据;
3: match_data = {S[2],S[1],S[0],S[2],S[1],S[0],S[2],S[1]},此时,前三个数据S[2],S[1],S[0],为该轮过程中读取的待解压数据;
4: match_data = {S[3],S[2],S[1],S[0], S[3],S[2],S[1],S[0]},此时,前四个数据S[3],S[2],S[1],S[0]为该轮过程中读取的待解压数据;
5: match_data = {S[4],S[3],S[2],S[1], S[0],S[4],S[3],S[2]},此时,前五个数据S[4],S[3],S[2],S[1], S[0]为该轮过程中读取的待解压数据;
6: match_data = {S[5],S[4],S[3],S[2], S[1],S[0],S[5],S[1]},此时,前六个数据S[5],S[4],S[3],S[2], S[1],S[0]为该轮过程中读取的待解压数据;
7: match_data = {S[6],S[5],S[4],S[3], S[2],S[1],S[0],S[6]},此时,前7个数据S[6],S[5],S[4],S[3], S[2],S[1],S[0]为该轮过程中读取的待解压数据;
其中,最前面的数字用于表示偏移值,也即符号“:”前的数字1、2、3、4、5、6、7表示对应的偏移值,比如3表示偏移值为3等,相应的,由于各偏移值下第二组待拼接数据中读取的待解压数据来自第一组待拼接数据,且个数与偏移值相等,所以各偏移值下第二组待拼接数据中读取的待解压数据为:
1: match_data = {S[0],0,0,0,0,0,0,0};
2: match_data = { S[1],S[0],0,0,0,0,0,0};
3: match_data = { S[0],S[2],S[1],0,0,0,0,0};
4: match_data = { S[3],S[2],S[1],S[0],0,0,0,0};
5: match_data = { S[1], S[0],S[4],S[3],S[2],0,0,0};
6: match_data = { S[3],S[2], S[1],S[0],S[5],S[1],0,0};
7: match_data = { S[5],S[4],S[3], S[2],S[1],S[0],S[6],0};
不难理解,当知晓第二组待拼接数据中读取的待解压数据之后,便可以计算得到第二组待拼接数据中的所有数据,换言之,本发明可以计算出每轮进行拼接的所有数据,因此在基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第组待拼接数据的过程中,可以重复执行传输第/>组待拼接数据至拼接器进行拼接,同时通过第二运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第/>组待拼接数据的步骤,直至结束,以在前一待拼接数据进行拼接的过程中,便准备好下一待拼接数据,从而可以连续进行数据拼接,进一步保证带宽利用率。
为便于理解,假设解压流程为:seq指针初始化为0,判断是否是最后一个seq,若是,则结束;若否,则读取匹配长度值ML个字符并写入数组,根据(OF,LL)对数组中字符进行mem copy(内存拷贝),并写入数组,将seq指针地址1,返回执行判断是否是最后一个seq的步骤。该解压流程对应的硬件结构如图3所示,Literal表示待解压数据,拼接器Data_joint用于对数据进行拼接,数据存储器data_mem用于存储拼接后的数据,数据流向路径如图4所示,由此可知,原方案中,在数据拼接过程中,当前的数据拼接结束后,存在需基于当前的数据拼接结果确定下一数据拼接结果所需应用的数据的情况,此时无法连续进行数据拼接,需等待数据确定结束后才可以继续进行数据拼接,也即存在等待Data_joint返回数据的等待延迟,由此使得带宽利用率下降且带宽出现波动,而本发明的新方案可以直接计算出每轮待拼接的数据,不存在等待Data_joint返回数据的等待延迟,由此可以连续进行数据拼接,继而可以提高带宽利用率且可以避免带宽出现波动。
实际应用中,在确定拼接单元大小值所对应的数据个数值的过程中,可以将拼接单元大小值与数据单位存储空间值进行相除,得到数据个数值。
实际应用中,为了进一步提高带宽利用率,若目标数据中的所有数据均为相同的单一数据,比如为单一字符S等,则可以对所有三元组中的匹配长度值进行加和,得到目标长度值,也即单一数据的重复次数值;对单一数据扩展目标长度值份,得到目标数据的目标解码结果,比如目标长度值为5,则目标解码结果为SSSSS。在此过程中,并未对压缩方式进行改进,若可以对压缩方式进行改进,则可以将此时的三元组直接修改为目标长度值,如图5所示,后续直接应用该目标长度值对单一数据进行扩展即可。
实际应用中,当三元组中的偏移值大于数据长度值时,该三元组需等待前一三元组解码完成后才能进行解码,如图6所示,此时无法并行进行解码,由此使得解码效率变低,为避免此种情况,可以在编码时,直接跳过对该数据的编码,并进行相应标记,这样,解码时,可以直接根据该标记读取原始数据即可,无需进行解码等待,也即为了进一步提高带宽利用,若目标数据中的数据存在目标标记,则在目标数据中,将目标标记对应的数据直接作为对应的数据解码结果;其中,目标标记包括对跳过编码的目标原始数据添加的标记,目标原始数据包括编码后得到的三元组中的偏移值大于数据长度值的数据。需要说明的是,本发明跳过对无法并行解码的数据的编码相当于牺牲存储性能来换取解码效率,具体应用场景中,可以综合考虑存储性能和解码效率来确定能跳过编码的数据的大小等,比如在无法并行解码的数据量小于预设值时,可以选择继续对该类数据进行编码,而在无法并行解码的数据量大于预设值时,可以选择跳过对该类数据的编码等,本发明在此不做具体限定。
请参阅图7,图7为本发明实施例提供的一种数据解码***的结构示意图。
本发明实施例提供的一种数据解码***,可以包括:
获取模块101,用于获取目标三元组;
读取模块102,用于若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据;
第一解码模块103,用于基于拼接单元大小值、目标三元组中的偏移值、目标三元组中的匹配长度值、待解压数据,生成进行数据拼接的待拼接数据,以对待拼接数据进行拼接得到目标三元组对应的数据解码结果。
本发明实施例提供的一种数据解码***,还可以包括:
判断模块,用于读取模块在若目标三元组对应的待解压数据只来自待解压的目标数据,则基于目标三元组中的数据长度值从目标数据中预取对应的待解压数据,判断偏移值是否小于等于数据长度值;若偏移值小于等于数据长度值,则判定目标三元组对应的待解压数据只来自待解压的目标数据;若偏移值大于数据长度值,则判定目标三元组对应的待解压数据来自待解压的目标数据和上一三元组的解码结果。
本发明实施例提供的一种数据解码***,读取模块可以包括:
确定单元,用于确定拼接单元大小值所对应的数据个数值;
第一生成单元,用于通过第一运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第一组待拼接数据;
第二生成单元,用于通过第二运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第组待拼接数据,/>;
第一运算公式包括:
,/>,/>;
其中,表示第一组待拼接数据中的第/>个数据;/>表示待解压数据中的第(/>)个数据;/>表示数据长度值;/>表示偏移值;/>表示求余运算;表示数据个数值;/>表示匹配长度值;/>表示向上取整;
第二运算公式包括:
,/>,/>;
其中,表示第/>组待拼接数据中的第/>个数据;/>表示第组待解压数据中的第(/>)个数据。
本发明实施例提供的一种数据解码***,第二生成单元可以具体用于:重复执行传输第组待拼接数据至拼接器进行拼接,同时通过第二运算公式,基于数据个数值、偏移值、匹配长度值,生成进行数据拼接的第/>组待拼接数据的步骤,直至结束。
本发明实施例提供的一种数据解码***,确定单元可以具体用于:将拼接单元大小值与数据单位存储空间值进行相除,得到数据个数值。
本发明实施例提供的一种数据解码***,还可以包括:
第二解码模块,用于若目标数据中的所有数据均为相同的单一数据,则对所有三元组中的匹配长度值进行加和,得到目标长度值;对单一数据扩展目标长度值份,得到目标数据的目标解码结果。
本发明实施例提供的一种数据解码***,还可以包括:
第三解码模块,用于若目标数据中的数据存在目标标记,则在目标数据中,将目标标记对应的数据直接作为对应的数据解码结果;
其中,目标标记包括对跳过编码的目标原始数据添加的标记,目标原始数据包括编码后得到的三元组中的偏移值大于数据长度值的数据。
本发明还提供了一种电子设备及计算机可读存储介质,其均具有本发明实施例提供的一种数据解码方法具有的对应效果。请参阅图8,图8为本发明实施例提供的一种电子设备的结构示意图。
本发明实施例提供的一种电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述数据解码方法的步骤。
请参阅图9,本发明实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本发明实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述数据解码方法的步骤。
本发明所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本发明实施例提供的数据解码***、电子设备及计算机可读存储介质中相关部分的说明请参见本发明实施例提供的数据解码方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据解码方法,其特征在于,包括:
获取目标三元组;
若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据;
基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,以对所述待拼接数据进行拼接得到所述目标三元组对应的数据解码结果;
其中,所述若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据之前,还包括:
判断所述偏移值是否小于等于所述数据长度值;
若所述偏移值小于等于所述数据长度值,则判定所述目标三元组对应的所述待解压数据只来自待解压的所述目标数据;
若所述偏移值大于所述数据长度值,则判定所述目标三元组对应的所述待解压数据来自待解压的所述目标数据和上一三元组的解码结果。
2.根据权利要求1所述的方法,其特征在于,所述基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,包括:
确定所述拼接单元大小值所对应的数据个数值;
通过第一运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第一组待拼接数据;
通过第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第组待拼接数据,/>;
所述第一运算公式包括:
,/>,/>;
其中,表示所述第一组待拼接数据中的第/>个数据;/>表示所述待解压数据中的第(/>)个数据;/>表示所述数据长度值;/>表示所述偏移值;/>表示求余运算;/>表示所述数据个数值;/>表示所述匹配长度值;/>表示向上取整;
所述第二运算公式包括:
,/>,/>;
其中,表示所述第/>组待拼接数据中的第/>个数据;/>表示第组待解压数据中的第(/>)个数据。
3.根据权利要求2所述的方法,其特征在于,所述通过第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第组待拼接数据,包括:
重复执行传输第组待拼接数据至拼接器进行拼接,同时通过所述第二运算公式,基于所述数据个数值、所述偏移值、所述匹配长度值,生成进行数据拼接的第/>组待拼接数据的步骤,直至结束。
4.根据权利要求2所述的方法,其特征在于,所述确定所述拼接单元大小值所对应的数据个数值,包括:
将所述拼接单元大小值与数据单位存储空间值进行相除,得到所述数据个数值。
5.根据权利要求1所述的方法,其特征在于,所述,还包括:
若所述目标数据中的所有数据均为相同的单一数据,则对所有三元组中的匹配长度值进行加和,得到目标长度值;
对所述单一数据扩展所述目标长度值,得到所述目标数据的目标解码结果。
6.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标数据中的数据存在目标标记,则在所述目标数据中,将所述目标标记对应的数据直接作为对应的数据解码结果;
其中,所述目标标记包括对跳过编码的目标原始数据添加的标记,所述目标原始数据包括编码后得到的三元组中的偏移值大于数据长度值的数据。
7.一种数据解码***,其特征在于,包括:
获取模块,用于获取目标三元组;
读取模块,用于若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据;
第一解码模块,用于基于拼接单元大小值、所述目标三元组中的偏移值、所述目标三元组中的匹配长度值、所述待解压数据,生成进行数据拼接的待拼接数据,以对所述待拼接数据进行拼接得到所述目标三元组对应的数据解码结果;
其中,还包括:
判断模块,用于所述读取模块在若所述目标三元组对应的待解压数据只来自待解压的目标数据,则基于所述目标三元组中的数据长度值从所述目标数据中预取对应的所述待解压数据之前,判断所述偏移值是否小于等于所述数据长度值;若所述偏移值小于等于所述数据长度值,则判定所述目标三元组对应的所述待解压数据只来自待解压的所述目标数据;若所述偏移值大于所述数据长度值,则判定所述目标三元组对应的所述待解压数据来自待解压的所述目标数据和上一三元组的解码结果。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据解码方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据解码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311358443.3A CN117097442B (zh) | 2023-10-19 | 2023-10-19 | 一种数据解码方法、***、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311358443.3A CN117097442B (zh) | 2023-10-19 | 2023-10-19 | 一种数据解码方法、***、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117097442A CN117097442A (zh) | 2023-11-21 |
CN117097442B true CN117097442B (zh) | 2024-01-16 |
Family
ID=88773869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311358443.3A Active CN117097442B (zh) | 2023-10-19 | 2023-10-19 | 一种数据解码方法、***、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117097442B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610447A (zh) * | 2015-10-29 | 2016-05-25 | 吴均 | 基于lz77算法的分区编码压缩方法 |
CN106664100A (zh) * | 2014-09-24 | 2017-05-10 | 英特尔公司 | 用于进行有效的基于lz77的数据解压缩的技术 |
CN108880556A (zh) * | 2018-05-30 | 2018-11-23 | 中国人民解放军战略支援部队信息工程大学 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
CN112989788A (zh) * | 2021-03-12 | 2021-06-18 | 平安科技(深圳)有限公司 | 关系三元组的提取方法、装置、设备及介质 |
EP3929768A1 (en) * | 2020-06-24 | 2021-12-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for generating triple sample, electronic device and computer storage medium |
CN114337678A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 数据压缩方法、装置、设备及存储介质 |
WO2023050491A1 (zh) * | 2021-09-30 | 2023-04-06 | 深圳前海环融联易信息科技服务有限公司 | 一种商机挖掘方法、装置、计算机设备及存储介质 |
CN116208171A (zh) * | 2022-12-27 | 2023-06-02 | 深圳大普微电子科技有限公司 | 数据压缩和解压缩方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8520958B2 (en) * | 2009-12-21 | 2013-08-27 | Stmicroelectronics International N.V. | Parallelization of variable length decoding |
US12014527B2 (en) * | 2020-06-22 | 2024-06-18 | Advanced Micro Devices, Inc. | Delta triplet index compression |
-
2023
- 2023-10-19 CN CN202311358443.3A patent/CN117097442B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106664100A (zh) * | 2014-09-24 | 2017-05-10 | 英特尔公司 | 用于进行有效的基于lz77的数据解压缩的技术 |
CN105610447A (zh) * | 2015-10-29 | 2016-05-25 | 吴均 | 基于lz77算法的分区编码压缩方法 |
CN108880556A (zh) * | 2018-05-30 | 2018-11-23 | 中国人民解放军战略支援部队信息工程大学 | 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器 |
EP3929768A1 (en) * | 2020-06-24 | 2021-12-29 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for generating triple sample, electronic device and computer storage medium |
CN114337678A (zh) * | 2020-09-29 | 2022-04-12 | 华为技术有限公司 | 数据压缩方法、装置、设备及存储介质 |
CN112989788A (zh) * | 2021-03-12 | 2021-06-18 | 平安科技(深圳)有限公司 | 关系三元组的提取方法、装置、设备及介质 |
WO2023050491A1 (zh) * | 2021-09-30 | 2023-04-06 | 深圳前海环融联易信息科技服务有限公司 | 一种商机挖掘方法、装置、计算机设备及存储介质 |
CN116208171A (zh) * | 2022-12-27 | 2023-06-02 | 深圳大普微电子科技有限公司 | 数据压缩和解压缩方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117097442A (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110506260B (zh) | 用于神经网络环境中的增强数据处理的方法、***和介质 | |
EP2996046B1 (en) | Data reading and writing method, device and system | |
US9015695B2 (en) | Information processing apparatus and information processing method | |
TW201539187A (zh) | 快閃記憶體之壓縮、讀取方法及應用其方法的裝置 | |
CN111339228B (zh) | 一种地图更新方法、设备、云服务器和存储介质 | |
CN109857744B (zh) | 稀疏张量计算方法、装置、设备及存储介质 | |
US20190347549A1 (en) | Efficient data encoding for deep neural network training | |
CN112199040B (zh) | 存储访问方法及智能处理装置 | |
US20210150154A1 (en) | Chapter-level text translation method and device | |
CN114466196B (zh) | 视频数据处理方法、***、装置及计算机可读存储介质 | |
CN110888851A (zh) | 压缩文件创建和解压的方法及装置、以及电子和存储设备 | |
CN117435855B (zh) | 用于进行卷积运算的方法、电子设备和存储介质 | |
US9876511B2 (en) | Memory system and memory control method | |
CN117097442B (zh) | 一种数据解码方法、***、设备及计算机可读存储介质 | |
US8090769B2 (en) | Dynamically generating web contents | |
CN112100453B (zh) | 一种字符串分布统计方法、***、设备及计算机存储介质 | |
CN109816536B (zh) | 清单去重方法、装置和计算机设备 | |
KR102247741B1 (ko) | 이미지 프로세서, 상기 이미지 프로세서의 동작 방법, 및 상기 이미지 프로세서를 포함하는 애플리케이션 프로세서 | |
US11226740B2 (en) | Selectively performing inline compression based on data entropy | |
CN117097346B (zh) | 一种解压器及数据解压方法、***、设备、计算机介质 | |
CN111651188A (zh) | 差分包的数据结果确定方法、装置、设备及存储介质 | |
CN111639055B (zh) | 差分包计算方法、装置、设备及存储介质 | |
CN108989813A (zh) | 一种高效率压缩/解压缩方法、计算机装置和存储介质 | |
CN117992578B (zh) | 基于大语言模型处理数据的方法、大语言模型及电子设备 | |
WO2023174040A1 (zh) | 一种图片的处理方法及相关设备 |
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 |