本發(fā)明涉及數(shù)據(jù)處理,具體地說,涉及一種基于xor編碼小誤差下的保質(zhì)壓縮方法。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)(iot)和大數(shù)據(jù)的快速發(fā)展,時(shí)間序列數(shù)據(jù)的規(guī)模呈指數(shù)級增長,對數(shù)據(jù)壓縮技術(shù)提出了更高的要求。尤其在醫(yī)療、金融等領(lǐng)域,時(shí)間序列數(shù)據(jù)的快速增長已成為大數(shù)據(jù)時(shí)代的顯著特征,如何有效管理和存儲(chǔ)這些數(shù)據(jù)變得愈加重要。為了降低存儲(chǔ)和傳輸成本,同時(shí)保留數(shù)據(jù)的核心特征,壓縮技術(shù)發(fā)揮著至關(guān)重要的作用?,F(xiàn)有的時(shí)間序列數(shù)據(jù)壓縮方法主要分為兩大類:有損壓縮和無損壓縮。
2、有損壓縮技術(shù)通過容許一定程度的誤差來壓縮數(shù)據(jù),常見的方法包括最大誤差界(l∞-bound)壓縮。這種方法確保每個(gè)數(shù)據(jù)點(diǎn)的誤差不會(huì)超過預(yù)定義的容差范圍。典型的有損壓縮技術(shù)包括小波壓縮和分段線性逼近(pla)。小波壓縮將時(shí)間序列數(shù)據(jù)分解為多個(gè)尺度上的系數(shù),通過選擇性地保留一些系數(shù)來實(shí)現(xiàn)壓縮,而pla方法通過使用線段近似時(shí)間序列數(shù)據(jù)。
3、近年來,sim-piece和其擴(kuò)展版本mix-piece作為新型的有損壓縮方法,基于pla方法進(jìn)行改進(jìn),通過將相似的段落分組來優(yōu)化壓縮比和執(zhí)行效率,表現(xiàn)出了優(yōu)秀的壓縮性能。
4、與此不同,無損壓縮技術(shù)通過完全保留原始數(shù)據(jù),不丟失任何信息,確保在解壓縮后可以完全恢復(fù)原始數(shù)據(jù)。常見的無損壓縮方法包括增量編碼,該方法對連續(xù)數(shù)據(jù)點(diǎn)之間的差值進(jìn)行編碼,而非對絕對值進(jìn)行編碼。gorilla方法是一種典型的無損壓縮方法,通過異或運(yùn)算對浮點(diǎn)時(shí)間序列數(shù)據(jù)進(jìn)行編碼,實(shí)現(xiàn)高效壓縮。chimp提出了一種改進(jìn)方案,通過優(yōu)化異或運(yùn)算中前導(dǎo)零的處理,進(jìn)一步提高了壓縮和解壓縮速度。最近,elf/elf+提出了通過預(yù)處理來優(yōu)化異或運(yùn)算后的尾隨零,從而提升壓縮比和執(zhí)行效率。
5、盡管現(xiàn)有的壓縮技術(shù)在不同領(lǐng)域的應(yīng)用中已取得了一定成效,但在面對浮點(diǎn)時(shí)間序列數(shù)據(jù)時(shí),仍存在一些不足。現(xiàn)有的壓縮方法往往難以在保留較高壓縮比的同時(shí),確保壓縮過程中的誤差控制和計(jì)算效率。尤其是在涉及有損壓縮時(shí),如何有效地利用誤差容忍度而不損失關(guān)鍵信息,依然是一個(gè)技術(shù)挑戰(zhàn)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的內(nèi)容是提供一種基于xor編碼小誤差下的保質(zhì)壓縮方法,其能在最大誤差界限的背景下設(shè)計(jì),確保每個(gè)解碼數(shù)據(jù)點(diǎn)都在預(yù)定義的誤差容忍度內(nèi),同時(shí)兼顧高效的壓縮比和執(zhí)行效率。
2、根據(jù)本發(fā)明的一種基于xor編碼小誤差下的保質(zhì)壓縮方法,其包括sxc方法和smc方法;
3、sxc方法為:
4、若一個(gè)雙精度值v的可變區(qū)域[v-,v+]外的內(nèi)容若與另一個(gè)雙精度值u的對應(yīng)部分相同,設(shè)置v'為v,擦除的位數(shù)mask為j,不重新擦除;
5、否則,對于可變區(qū)域,有u的對應(yīng)部分小于v-,或者有u的對應(yīng)部分大于v+,設(shè)置v'為v+,擦除的位數(shù)mask為j-1,需要重新擦除,異或結(jié)果
6、smc方法為:
7、直接選擇v+并將其尾數(shù)設(shè)置為零。
8、作為優(yōu)選,可變區(qū)域[v-,v+]=[v-δ,v+δ],δ為誤差容限。
9、作為優(yōu)選,重新擦除為:在從異或結(jié)果恢復(fù)壓縮值時(shí),沒有貢獻(xiàn)的部分在恢復(fù)值中再次出現(xiàn),再次使用相同的mask進(jìn)行擦除。
10、作為優(yōu)選,壓縮后進(jìn)行編碼,編碼是把需要存儲(chǔ)的果xorstored變成標(biāo)志位和一些bits;
11、sxc方法編碼時(shí),前導(dǎo)零的數(shù)量clz的表示如下:
12、
13、當(dāng)|v|<δ時(shí),選擇v'=0;后續(xù)的擦除和重新擦除操作也會(huì)導(dǎo)致xorstored為0,這與v=u時(shí)的異或運(yùn)算結(jié)果相同;因此,設(shè)置mask為63來區(qū)分這些情況,并使用2個(gè)標(biāo)志位來表示這些情況;
14、選擇使用21作為偏差值來表示尾數(shù)的長度,即mask-21,需要5位來表示;然后,使用1位來指示是否發(fā)生重新擦除;接下來,寫出xorstored中前導(dǎo)零clz的數(shù)量,然后寫出剩余部分,即中心位;
15、smc方法編碼時(shí),對于大的誤差容忍,使用偏置值為37,即mask-37,需要4位來表示;對于小的誤差容忍,保留原始偏置值為21,需要5位來表示;此外,還移除了重新擦除標(biāo)志位,smc不需要存儲(chǔ)重新擦除,當(dāng)同時(shí)考慮末尾零和重新擦除的存儲(chǔ)時(shí),smc所需的空間不超過sxc所需的空間,縮短了末尾零和標(biāo)志位的存儲(chǔ)。
16、本發(fā)明的有益效果如下:
17、本發(fā)明適用于對流時(shí)空數(shù)據(jù)的處理且處理后的誤差處于規(guī)定范圍內(nèi),即適合應(yīng)用于實(shí)時(shí)科學(xué)計(jì)算分析的場景,本發(fā)明確保了每個(gè)解碼數(shù)據(jù)點(diǎn)都在預(yù)定義的誤差容忍度內(nèi),同時(shí)兼顧高效的壓縮比和執(zhí)行效率。
18、與現(xiàn)有優(yōu)秀的有損和基于異或的無損浮點(diǎn)壓縮方法相比,sxc方法在較小的誤差容忍度下實(shí)現(xiàn)了比許多方法更好的空間節(jié)省。同時(shí),smc方法在較小的誤差容忍度下在壓縮比方面表現(xiàn)出色,并保持穩(wěn)定的高性能。此外,smc始終提供最佳的壓縮和解壓縮速度。除了令人矚目的壓縮比、穩(wěn)定的平均絕對誤差(mae)和均方根誤差(rmse)值外,sxc和smc還展示了強(qiáng)大的可靠性和穩(wěn)定性。
1.基于xor編碼小誤差下的保質(zhì)壓縮方法,其特征在于:包括sxc方法和smc方法;
2.根據(jù)權(quán)利要求1所述的基于xor編碼小誤差下的保質(zhì)壓縮方法,其特征在于:可變區(qū)域[v-,v+]=[v-δ,v+δ],δ為誤差容限。
3.根據(jù)權(quán)利要求2所述的基于xor編碼小誤差下的保質(zhì)壓縮方法,其特征在于:重新擦除為:在從異或結(jié)果恢復(fù)壓縮值時(shí),沒有貢獻(xiàn)的部分在恢復(fù)值中再次出現(xiàn),再次使用相同的mask進(jìn)行擦除。
4.根據(jù)權(quán)利要求3所述的基于xor編碼小誤差下的保質(zhì)壓縮方法,其特征在于:壓縮后進(jìn)行編碼,編碼是把需要存儲(chǔ)的果xorstored變成標(biāo)志位和一些bits;