本申請實(shí)施例涉及半導(dǎo)體,尤其涉及一種數(shù)據(jù)壓縮裝置、解壓裝置、數(shù)據(jù)處理方法及相關(guān)設(shè)備。
背景技術(shù):
1、隨著芯片的計(jì)算能力的提升,提高訪存帶寬便成為了芯片進(jìn)行數(shù)據(jù)運(yùn)算時需要解決的主要問題之一。其中,數(shù)據(jù)壓縮方法是提高訪存帶寬的有效手段之一。數(shù)據(jù)壓縮方法可以對數(shù)據(jù)進(jìn)行壓縮,以優(yōu)化數(shù)據(jù)結(jié)構(gòu)和存儲格式。
2、但是,數(shù)據(jù)壓縮方法存在使用限制,從而影響數(shù)據(jù)壓縮的成功率。在此背景下,如何提供技術(shù)方案,提高數(shù)據(jù)壓縮的成功率,成為了本領(lǐng)域技術(shù)人員亟需解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請實(shí)施例提供一種數(shù)據(jù)壓縮裝置、解壓裝置、數(shù)據(jù)處理方法及相關(guān)設(shè)備,提高數(shù)據(jù)壓縮的成功率。
2、為實(shí)現(xiàn)上述目的,本申請實(shí)施例提供如下技術(shù)方案。
3、第一方面,本申請實(shí)施例提供一種數(shù)據(jù)壓縮裝置,包括:
4、目標(biāo)基確定模塊,用于獲取待壓縮數(shù)據(jù)的各個候選基和各個候選基的比對序列,并基于各個候選基的比對序列,在各個候選基中確定出目標(biāo)基;所述比對序列基于候選基和所述待壓縮數(shù)據(jù)的各個數(shù)據(jù)塊比對形成;
5、數(shù)據(jù)壓縮模塊,用于根據(jù)所述目標(biāo)基對所述待壓縮數(shù)據(jù)進(jìn)行壓縮,得到壓縮后的數(shù)據(jù),所述壓縮后的數(shù)據(jù)至少包括依次排列的所述目標(biāo)基的目標(biāo)比對序列、所述目標(biāo)基、與所述目標(biāo)基的值不同的非目標(biāo)基數(shù)據(jù)塊;
6、其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
7、第二方面,本申請實(shí)施例提供一種數(shù)據(jù)解壓裝置,包括:
8、壓縮后的數(shù)據(jù)獲取模塊,用于獲取壓縮后的數(shù)據(jù),所述壓縮后的數(shù)據(jù)至少包括依次排列的目標(biāo)基對應(yīng)的目標(biāo)比對序列、目標(biāo)基、非目標(biāo)基數(shù)據(jù)塊,所述非目標(biāo)基數(shù)據(jù)塊的值與所述目標(biāo)基的值不同;所述壓縮后的數(shù)據(jù)基于第一方面所述的數(shù)據(jù)壓縮裝置對待壓縮數(shù)據(jù)進(jìn)行壓縮后獲得;
9、數(shù)據(jù)解壓還原模塊,用于基于所述目標(biāo)基、所述目標(biāo)比對序列以及所述非目標(biāo)基數(shù)據(jù)塊,對所述壓縮后的數(shù)據(jù)進(jìn)行解壓還原,得到解壓后的數(shù)據(jù);
10、其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
11、第三方面,本申請實(shí)施例提供一種數(shù)據(jù)處理系統(tǒng),包括:
12、如第一方面所述的數(shù)據(jù)壓縮裝置,用于對待壓縮數(shù)據(jù)進(jìn)行壓縮,得到壓縮后的數(shù)據(jù);所述壓縮后的數(shù)據(jù)至少包括依次排列的所述目標(biāo)基的目標(biāo)比對序列、所述目標(biāo)基、與所述目標(biāo)基的值不同的非目標(biāo)基數(shù)據(jù)塊;
13、如第二方面所述的數(shù)據(jù)解壓裝置,用于接收壓縮后的數(shù)據(jù),并對壓縮后的數(shù)據(jù)解壓,得到解壓后的數(shù)據(jù);
14、其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
15、第四方面,本申請實(shí)施例提供一種數(shù)據(jù)處理方法,應(yīng)用于第一方面所述的數(shù)據(jù)壓縮裝置,包括:
16、獲取待壓縮數(shù)據(jù)的各個候選基和各個候選基的比對序列,并基于各個候選基的比對序列,在各個候選基中確定出目標(biāo)基;所述比對序列基于候選基和所述待壓縮數(shù)據(jù)的各個數(shù)據(jù)塊比對形成;
17、根據(jù)所述目標(biāo)基對所述待壓縮數(shù)據(jù)進(jìn)行壓縮,得到壓縮后的數(shù)據(jù),所述壓縮后的數(shù)據(jù)至少包括依次排列的所述目標(biāo)基的目標(biāo)比對序列、所述目標(biāo)基、與所述目標(biāo)基的值不同的非目標(biāo)基數(shù)據(jù)塊;
18、其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
19、第五方面,本申請實(shí)施例提供一種數(shù)據(jù)處理方法,應(yīng)用于第二方面所述的數(shù)據(jù)解壓裝置,包括:
20、獲取壓縮后的數(shù)據(jù),所述壓縮后的數(shù)據(jù)至少包括依次排列目標(biāo)基對應(yīng)的目標(biāo)比對序列、目標(biāo)基、非目標(biāo)基數(shù)據(jù)塊,所述非目標(biāo)基數(shù)據(jù)塊的值與所述目標(biāo)基的值不同;所述壓縮后的數(shù)據(jù)基于第四方面所述的數(shù)據(jù)壓縮方法對待壓縮數(shù)據(jù)進(jìn)行壓縮后獲得;
21、基于所述目標(biāo)基、所述目標(biāo)比對序列以及所述非目標(biāo)基數(shù)據(jù)塊,對所述壓縮后的數(shù)據(jù)進(jìn)行解壓還原,得到解壓后的數(shù)據(jù);
22、其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
23、本申請實(shí)施例提供的數(shù)據(jù)壓縮裝置,包括:目標(biāo)基確定模塊,用于獲取待壓縮數(shù)據(jù)的各個候選基和各個候選基的比對序列,并基于各個候選基的比對序列,在各個候選基中確定出目標(biāo)基;所述比對序列基于候選基和所述待壓縮數(shù)據(jù)的各個數(shù)據(jù)塊比對形成;數(shù)據(jù)壓縮模塊,用于根據(jù)所述目標(biāo)基對所述待壓縮數(shù)據(jù)進(jìn)行壓縮,得到壓縮后的數(shù)據(jù),所述壓縮后的數(shù)據(jù)至少包括依次排列的所述目標(biāo)基的目標(biāo)比對序列、所述目標(biāo)基、與所述目標(biāo)基的值不同的非目標(biāo)基數(shù)據(jù)塊;其中,所述目標(biāo)比對序列用于指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置。
24、可以看出,本申請實(shí)施例所提供的技術(shù)方案,通過利用目標(biāo)基確定模塊,首先確定出可以用于進(jìn)行數(shù)據(jù)壓縮的目標(biāo)基,進(jìn)而通過數(shù)據(jù)壓縮模塊利用目標(biāo)基對待壓縮數(shù)據(jù)進(jìn)行壓縮,得到壓縮后的數(shù)據(jù);由于壓縮后的數(shù)據(jù)中包括依次排列的目標(biāo)基的目標(biāo)比對序列、目標(biāo)基以及非目標(biāo)基數(shù)據(jù)塊;而目標(biāo)基是基于候選基的比對序列中確定出的,且候選基的比對序列為候選基與待壓縮數(shù)據(jù)的各個數(shù)據(jù)塊的比對結(jié)果。因此,基于候選基確定出的目標(biāo)基,其對應(yīng)的目標(biāo)比對序列同樣為目標(biāo)基和待壓縮數(shù)據(jù)的各個數(shù)據(jù)塊比對后得到的比較結(jié)果。同時,目標(biāo)比對序列可以指示與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,也就是說目標(biāo)比對序列對應(yīng)的比對結(jié)果中可以體現(xiàn)出與目標(biāo)基的值相同的數(shù)據(jù)塊的位置,以及與目標(biāo)基的值不同的數(shù)據(jù)塊的位置。因此,一方面,本申請所提供的技術(shù)方案可以基于目標(biāo)比對序列在解壓壓縮后的數(shù)據(jù)時,直接根據(jù)目標(biāo)比對序列所指示的與目標(biāo)基的值相同的數(shù)據(jù)塊在待壓縮數(shù)據(jù)中的位置,以及非目標(biāo)基數(shù)據(jù)塊在待壓縮數(shù)據(jù)塊中的位置,結(jié)合目標(biāo)基和非目標(biāo)基數(shù)據(jù)塊,快速方便的將壓縮后的數(shù)據(jù)還原。另一方面,由于壓縮后的數(shù)據(jù)中包括與目標(biāo)基的值不同的數(shù)據(jù)塊(即非目標(biāo)基數(shù)據(jù)塊),因此,本申請實(shí)施例所提供的數(shù)據(jù)壓縮裝置,在利用確定出的目標(biāo)基進(jìn)行數(shù)據(jù)壓縮的過程中,對于待壓縮數(shù)據(jù)中存在的與目標(biāo)基的值不一致的數(shù)據(jù)塊也可以進(jìn)行保留,以實(shí)現(xiàn)待壓縮數(shù)據(jù)的壓縮;從而可以避免在面對非稀疏矩陣或者數(shù)據(jù)塊間差異較大的待壓縮數(shù)據(jù)時,無法進(jìn)行數(shù)據(jù)壓縮的情況的發(fā)生;因此,可以在快速實(shí)現(xiàn)無損數(shù)據(jù)壓縮的基礎(chǔ)上,提高數(shù)據(jù)壓縮的成功率。
1.一種數(shù)據(jù)壓縮裝置,其中,包括:
2.如權(quán)利要求1所述的數(shù)據(jù)壓縮裝置,其中,所述壓縮后的數(shù)據(jù)還包括壓縮后的數(shù)據(jù)的壓縮率,所述裝置還包括:
3.如權(quán)利要求2所述的數(shù)據(jù)壓縮裝置,其中,所述候選基矩陣形成模塊包括:
4.如權(quán)利要求3所述的數(shù)據(jù)壓縮裝置,其中,所述目標(biāo)基確定模塊包括:
5.如權(quán)利要求4所述的數(shù)據(jù)壓縮裝置,其中,所述壓縮控制模塊還用于根據(jù)所確定的壓縮率,生成壓縮指示信號,所述壓縮指示信號用于控制是否輸出數(shù)據(jù)壓縮模塊的壓縮結(jié)果,在確定壓縮率表示待壓縮數(shù)據(jù)可壓縮成功時,控制輸出所述數(shù)據(jù)壓縮模塊的壓縮結(jié)果;在確定壓縮率表示待壓縮數(shù)據(jù)不可壓縮成功時,控制不輸出所述數(shù)據(jù)壓縮模塊的壓縮結(jié)果;
6.如權(quán)利要求5所述的數(shù)據(jù)壓縮裝置,其中,還包括:
7.如權(quán)利要求1-6任一項(xiàng)所述的數(shù)據(jù)壓縮裝置,其中,所述壓縮后的數(shù)據(jù)還包括壓縮步長,所述目標(biāo)基確定模塊的數(shù)量至少為2個,且各個目標(biāo)基確定模塊獲取的目標(biāo)基對應(yīng)的壓縮步長不同;所述數(shù)據(jù)壓縮模塊的數(shù)量至少為2個;
8.一種數(shù)據(jù)解壓裝置,其中,包括:
9.如權(quán)利要求8所述的數(shù)據(jù)解壓裝置,其中,所述壓縮后的數(shù)據(jù)還包括壓縮步長和壓縮后的數(shù)據(jù)的數(shù)據(jù)長度;所述裝置還包括:
10.如權(quán)利要求9所述的數(shù)據(jù)解壓裝置,其中,所述數(shù)據(jù)解壓還原模塊包括:
11.如權(quán)利要求10所述的數(shù)據(jù)解壓裝置,其中,還包括:
12.一種數(shù)據(jù)處理系統(tǒng),其中,包括:
13.一種數(shù)據(jù)處理方法,應(yīng)用于如權(quán)利要求1-7任一項(xiàng)所述的數(shù)據(jù)壓縮裝置,包括:
14.一種數(shù)據(jù)處理方法,應(yīng)用于如權(quán)利要求8-11任一項(xiàng)所述的數(shù)據(jù)解壓裝置,包括: