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