本技術(shù)涉及通信,尤其涉及一種數(shù)據(jù)編碼的方法、設(shè)備、裝置及存儲介質(zhì)。
背景技術(shù):
1、在通信系統(tǒng)中,為了保障信息傳輸?shù)目煽啃?,提高傳輸距離,降低設(shè)備功耗等,提出前向糾錯編碼(forward?error?correction,fec)技術(shù)。目前,里德-所羅門(reed-solomon,rs)碼由于具有顯著的糾錯突發(fā)和隨機(jī)錯誤的能力,而成為普遍使用的一種前向糾錯碼。
2、目前,通過傳統(tǒng)串行編碼器對待編碼數(shù)據(jù)進(jìn)行編碼,獲得rs碼;但是傳統(tǒng)串行編碼器速率低、延時大,很難提高吞吐速率。以rs(544,514)碼為例,傳統(tǒng)串行編碼器至少需要544個時鐘周期才能實(shí)現(xiàn)對待編碼數(shù)據(jù)進(jìn)行編碼,處理時間長,速率低。
3、因此,如何實(shí)現(xiàn)高速率、低時延的數(shù)據(jù)編碼是目前需要解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種數(shù)據(jù)編碼的方法、設(shè)備、裝置及存儲介質(zhì),用以實(shí)現(xiàn)高速率、低時延的數(shù)據(jù)編碼。
2、第一方面,本技術(shù)實(shí)施例提供一種數(shù)據(jù)編碼的方法,應(yīng)用于并行編碼器,該方法包括:
3、基于并行編碼器的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組;其中,每個數(shù)據(jù)分組中包括m個字節(jié)數(shù)據(jù),字節(jié)數(shù)據(jù)屬于待編碼數(shù)據(jù);
4、對待編碼數(shù)據(jù)進(jìn)行n輪數(shù)據(jù)處理后,將并行編碼器的p個寄存器各自存儲的數(shù)據(jù)處理結(jié)果,作為校驗數(shù)據(jù),并基于校驗數(shù)據(jù)和待編碼數(shù)據(jù),確定rs碼;
5、其中,在每一輪數(shù)據(jù)處理中,執(zhí)行:利用并行編碼器,對當(dāng)前輪次需要處理的目標(biāo)數(shù)據(jù)分組中的m個字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果,并采用p個目標(biāo)處理結(jié)果,替換p個寄存器各自存儲的前一輪次處理結(jié)果;其中,目標(biāo)處理結(jié)果與寄存器一一對應(yīng)。
6、在一種可能的實(shí)現(xiàn)方式中,基于并行編碼器中的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組之前,利用待編碼數(shù)據(jù)的長度q除以并行度m,確定存在余數(shù)時,基于余數(shù),在待編碼數(shù)據(jù)前進(jìn)行補(bǔ)零處理。
7、在一種可能的實(shí)現(xiàn)方式中,利用并行編碼器,對當(dāng)前輪次需要處理的目標(biāo)數(shù)據(jù)分組中的m個字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果,包括:
8、針對m個字節(jié)數(shù)據(jù)中任一字節(jié)數(shù)據(jù),執(zhí)行:基于字節(jié)數(shù)據(jù)在目標(biāo)數(shù)據(jù)分組中的位置,確定p個乘法器,并基于p個乘法器的乘法系數(shù),分別對字節(jié)數(shù)據(jù)進(jìn)行乘法運(yùn)算,獲得字節(jié)數(shù)據(jù)對應(yīng)的p個乘法運(yùn)算結(jié)果;
9、通過p個寄存器各自連接的加法器,分別對與加法器連接的m個乘法器輸出的乘法運(yùn)算結(jié)果,進(jìn)行異或運(yùn)算,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果;其中,與加法器連接的m個乘法器與m個字節(jié)數(shù)據(jù)一一對應(yīng)。
10、在一種可能的實(shí)現(xiàn)方式中,基于p個乘法器的乘法系數(shù),分別對字節(jié)數(shù)據(jù)進(jìn)行乘法運(yùn)算之前,基于字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次,確定目標(biāo)數(shù)據(jù);基于字節(jié)數(shù)據(jù)和目標(biāo)數(shù)據(jù),確定輸入乘法器的輸入數(shù)據(jù)。
11、在一種可能的實(shí)現(xiàn)方式中,基于字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次,確定目標(biāo)數(shù)據(jù),包括:
12、若字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次為第一輪,則目標(biāo)數(shù)據(jù)為零;
13、若字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次非第一輪,則從p個寄存器各自存儲的前一輪次處理結(jié)果中,選擇位于尾部的m個前一輪次處理結(jié)果,并基于字節(jié)數(shù)據(jù)在目標(biāo)數(shù)據(jù)分組中的位置,在m個前一輪次處理結(jié)果中,選擇一個前一輪次處理結(jié)果,并將選擇的前一輪次處理結(jié)果作為目標(biāo)數(shù)據(jù)。
14、在一種可能的實(shí)現(xiàn)方式中,乘法系數(shù)是通過如下方式獲得的:
15、基于并行編碼器的并行度m,構(gòu)建m個不同的標(biāo)準(zhǔn)數(shù)據(jù);其中,標(biāo)準(zhǔn)數(shù)據(jù)的數(shù)據(jù)長度為m,且標(biāo)準(zhǔn)數(shù)據(jù)中一個數(shù)據(jù)位設(shè)置為1,其余數(shù)據(jù)位設(shè)置為0;
16、針對m個標(biāo)準(zhǔn)數(shù)據(jù)中的任一標(biāo)準(zhǔn)數(shù)據(jù),執(zhí)行:
17、利用傳統(tǒng)串行編碼器,對標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行運(yùn)算處理,獲得p個運(yùn)算處理結(jié)果,并將p個運(yùn)算處理結(jié)果,存儲在傳統(tǒng)串行編碼器的p個緩沖器中;
18、基于標(biāo)準(zhǔn)數(shù)據(jù)中設(shè)置為1的數(shù)據(jù)位,將傳統(tǒng)串行編碼器的p個緩沖器各自存儲的運(yùn)算處理結(jié)果,作為數(shù)據(jù)分組中目標(biāo)位置對應(yīng)的p個乘法器的乘法系數(shù),目標(biāo)位置是基于數(shù)據(jù)分組的數(shù)據(jù)長度以及標(biāo)準(zhǔn)數(shù)據(jù)中設(shè)置為1的數(shù)據(jù)位確定的,運(yùn)算處理結(jié)果與乘法系數(shù)一一對應(yīng)。
19、在一種可能的實(shí)現(xiàn)方式中,基于校驗數(shù)據(jù)和待編碼數(shù)據(jù),確定rs碼,包括:
20、在待編碼數(shù)據(jù)后添加校驗數(shù)據(jù),獲得rs碼。
21、第二方面,本技術(shù)實(shí)施例提供一種電子設(shè)備,應(yīng)用于并行編碼器,包括存儲器,收發(fā)器,處理器;
22、存儲器,用于存儲計算機(jī)程序;
23、收發(fā)機(jī),用于在處理器的控制下收發(fā)數(shù)據(jù);
24、處理器,用于讀取存儲器中的計算機(jī)程序并執(zhí)行以下操作:
25、基于并行編碼器的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組;其中,每個數(shù)據(jù)分組中包括m個字節(jié)數(shù)據(jù),字節(jié)數(shù)據(jù)屬于待編碼數(shù)據(jù);
26、對待編碼數(shù)據(jù)進(jìn)行n輪數(shù)據(jù)處理后,將并行編碼器的p個寄存器各自存儲的數(shù)據(jù)處理結(jié)果,作為校驗數(shù)據(jù),并基于校驗數(shù)據(jù)和待編碼數(shù)據(jù),確定rs碼;
27、其中,在每一輪數(shù)據(jù)處理中,執(zhí)行:利用并行編碼器,對當(dāng)前輪次需要處理的目標(biāo)數(shù)據(jù)分組中的m個字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果,并采用p個目標(biāo)處理結(jié)果,替換p個寄存器各自存儲的前一輪次處理結(jié)果;其中,目標(biāo)處理結(jié)果與寄存器一一對應(yīng)。
28、在一種可能的實(shí)現(xiàn)方式中,處理器還用于:
29、基于并行編碼器中的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組之前,利用待編碼數(shù)據(jù)的長度q除以并行度m,確定存在余數(shù)時,基于余數(shù),在待編碼數(shù)據(jù)前進(jìn)行補(bǔ)零處理。
30、在一種可能的實(shí)現(xiàn)方式中,處理器具體用于:
31、針對m個字節(jié)數(shù)據(jù)中任一字節(jié)數(shù)據(jù),執(zhí)行:基于字節(jié)數(shù)據(jù)在目標(biāo)數(shù)據(jù)分組中的位置,確定p個乘法器,并基于p個乘法器的乘法系數(shù),分別對字節(jié)數(shù)據(jù)進(jìn)行乘法運(yùn)算,獲得字節(jié)數(shù)據(jù)對應(yīng)的p個乘法運(yùn)算結(jié)果;
32、通過p個寄存器各自連接的加法器,分別對與加法器連接的m個乘法器輸出的乘法運(yùn)算結(jié)果,進(jìn)行異或運(yùn)算,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果;其中,與加法器連接的m個乘法器與m個字節(jié)數(shù)據(jù)一一對應(yīng)。
33、在一種可能的實(shí)現(xiàn)方式中,處理器還用于:
34、基于p個乘法器的乘法系數(shù),分別對字節(jié)數(shù)據(jù)進(jìn)行乘法運(yùn)算之前,基于字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次,確定目標(biāo)數(shù)據(jù);基于字節(jié)數(shù)據(jù)和目標(biāo)數(shù)據(jù),確定輸入乘法器的輸入數(shù)據(jù)。
35、在一種可能的實(shí)現(xiàn)方式中,處理器具體用于:
36、若字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次為第一輪,則目標(biāo)數(shù)據(jù)為零;
37、若字節(jié)數(shù)據(jù)對應(yīng)的數(shù)據(jù)處理輪次非第一輪,則從p個寄存器各自存儲的前一輪次處理結(jié)果中,選擇位于尾部的m個前一輪次處理結(jié)果,并基于字節(jié)數(shù)據(jù)在目標(biāo)數(shù)據(jù)分組中的位置,在m個前一輪次處理結(jié)果中,選擇一個前一輪次處理結(jié)果,并將選擇的前一輪次處理結(jié)果作為目標(biāo)數(shù)據(jù)。
38、在一種可能的實(shí)現(xiàn)方式中,乘法系數(shù)是處理器通過如下方式獲得的:
39、基于并行編碼器的并行度m,構(gòu)建m個不同的標(biāo)準(zhǔn)數(shù)據(jù);其中,標(biāo)準(zhǔn)數(shù)據(jù)的數(shù)據(jù)長度為m,且標(biāo)準(zhǔn)數(shù)據(jù)中一個數(shù)據(jù)位設(shè)置為1,其余數(shù)據(jù)位設(shè)置為0;
40、針對m個標(biāo)準(zhǔn)數(shù)據(jù)中的任一標(biāo)準(zhǔn)數(shù)據(jù),執(zhí)行:
41、利用傳統(tǒng)串行編碼器,對標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行運(yùn)算處理,獲得p個運(yùn)算處理結(jié)果,并將p個運(yùn)算處理結(jié)果,存儲在傳統(tǒng)串行編碼器的p個緩沖器中;
42、基于標(biāo)準(zhǔn)數(shù)據(jù)中設(shè)置為1的數(shù)據(jù)位,將傳統(tǒng)串行編碼器的p個緩沖器各自存儲的運(yùn)算處理結(jié)果,作為數(shù)據(jù)分組中目標(biāo)位置對應(yīng)的p個乘法器的乘法系數(shù),目標(biāo)位置是基于數(shù)據(jù)分組的數(shù)據(jù)長度以及標(biāo)準(zhǔn)數(shù)據(jù)中設(shè)置為1的數(shù)據(jù)位確定的,運(yùn)算處理結(jié)果與乘法系數(shù)一一對應(yīng)。
43、在一種可能的實(shí)現(xiàn)方式中,處理器具體用于:
44、在待編碼數(shù)據(jù)后添加校驗數(shù)據(jù),獲得rs碼。
45、第三方面,本技術(shù)實(shí)施例提供一種確數(shù)據(jù)編碼的裝置,應(yīng)用于并行編碼器,該裝置包括:
46、分組模塊,用于基于并行編碼器的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組;其中,每個數(shù)據(jù)分組中包括m個字節(jié)數(shù)據(jù),字節(jié)數(shù)據(jù)屬于待編碼數(shù)據(jù);
47、確定模塊,用于對待編碼數(shù)據(jù)進(jìn)行n輪數(shù)據(jù)處理后,將并行編碼器的p個寄存器各自存儲的數(shù)據(jù)處理結(jié)果,作為校驗數(shù)據(jù),并基于校驗數(shù)據(jù)和待編碼數(shù)據(jù),確定rs碼;
48、其中,確定模塊,具體用于在每一輪數(shù)據(jù)處理中,執(zhí)行:利用并行編碼器,對當(dāng)前輪次需要處理的目標(biāo)數(shù)據(jù)分組中的m個字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果,并采用p個目標(biāo)處理結(jié)果,替換p個寄存器各自存儲的前一輪次處理結(jié)果;其中,目標(biāo)處理結(jié)果與寄存器一一對應(yīng)。
49、第四方面,本技術(shù)實(shí)施例提供一種計算機(jī)可讀存儲介質(zhì),計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)指令,計算機(jī)指令被處理器執(zhí)行時實(shí)現(xiàn)本技術(shù)實(shí)施例提供的數(shù)據(jù)編碼的方法的步驟。
50、本技術(shù)有益效果如下:
51、本技術(shù)實(shí)施例提供一種數(shù)據(jù)編碼的方法、設(shè)備、裝置及存儲介質(zhì),涉及通信技術(shù)領(lǐng)域,尤其涉及通信中的編碼技術(shù),應(yīng)用于并行編碼器。在本技術(shù)中,基于并行編碼器的并行度m,將待編碼數(shù)據(jù)分成n個數(shù)據(jù)分組,每個數(shù)據(jù)分組中包括m個字節(jié)數(shù)據(jù),字節(jié)數(shù)據(jù)屬于待編碼數(shù)據(jù),以便并行編碼器運(yùn)行一個周期對一個數(shù)據(jù)分組進(jìn)行處理時,可達(dá)到并行編碼器的最大利用率;在對待編碼數(shù)據(jù)進(jìn)行n輪數(shù)據(jù)處理,即劃分的所有數(shù)據(jù)分組均通過并行編碼器后,將并行編碼器的p個寄存器各自存儲的數(shù)據(jù)處理結(jié)果,作為校驗數(shù)據(jù),并基于校驗數(shù)據(jù)和待編碼數(shù)據(jù),確定rs碼;在每一輪數(shù)據(jù)處理中,執(zhí)行:利用并行編碼器,對當(dāng)前輪次需要處理的目標(biāo)數(shù)據(jù)分組中的m個字節(jié)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得目標(biāo)數(shù)據(jù)分組對應(yīng)的p個目標(biāo)處理結(jié)果,并采用p個目標(biāo)處理結(jié)果,替換p個寄存器各自存儲的前一輪次處理結(jié)果,目標(biāo)處理結(jié)果與寄存器一一對應(yīng)。采用并行編碼器對數(shù)據(jù)進(jìn)行編碼時,并行編碼器運(yùn)行一個周期相當(dāng)于傳統(tǒng)串行編碼器運(yùn)行m個周期,因此相比傳統(tǒng)串行編碼器,提升編碼速率,降低時延。
52、本技術(shù)的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本技術(shù)而了解。本技術(shù)的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。