CN116366074B - 基于二元扩域及提高满度比的lt码混合编解码方法及系统 - Google Patents
基于二元扩域及提高满度比的lt码混合编解码方法及系统 Download PDFInfo
- Publication number
- CN116366074B CN116366074B CN202310282668.9A CN202310282668A CN116366074B CN 116366074 B CN116366074 B CN 116366074B CN 202310282668 A CN202310282668 A CN 202310282668A CN 116366074 B CN116366074 B CN 116366074B
- Authority
- CN
- China
- Prior art keywords
- data
- matrix
- decoding
- binary
- fullness
- 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 64
- 239000011159 matrix material Substances 0.000 claims abstract description 110
- 238000005315 distribution function Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000009826 distribution Methods 0.000 claims abstract description 18
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 30
- 230000008030 elimination Effects 0.000 claims description 9
- 238000003379 elimination reaction Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000001228 spectrum Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000009954 braiding Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于二元扩域及提高满度比的LT码混合编解码方法及系统,对待编码的数据进行处理,包括填充及划分数据包;确定满度数据比例以及度分布函数,根据随机种子产生度值;根据数据包个数以及产生的度值,根据随机种子创建随机的生成矩阵;将划分的数据与创建的生成矩阵进行矩阵相乘,产生编码数据;对编码生成的数据进行随机种子的拼接并进行封装输出;解码时根据相同的随机种子以及度分布函数还原编码时的生成矩阵,解码器进行解码。本发明用二元扩域元素替换传统LT码的(0,1)生成矩阵中的元素,同时在理想孤波分布的基础上提高满度分布比例的方法来提高LT码的解码成功率。
Description
技术领域
本发明涉及数据编码与信息安全存储领域,具体涉及一种计算机通信与存储的编解码放哪。
背景技术
LT码是数字喷泉码的第一次实际实现,LT码作为广播和多播网络中信息传递的一种可能的解决方案,在通信中得到了广泛的应用。因其优良的特性,LT码在一些存储场景中也得到了广泛地使用。LT码编码器能够将k个原始数据组成的源块扩增成未定义数量的编码数据。在广播和多播网络中,每个用户收集由LT码编码器生成的符号,一旦接收到足够多的符号,用户就能够恢复k输入符号。与通信应用中解码器可以一直接收编码数据包方式不同,在一些利用LT码进行存储的场景下,例如在DNA存储场景下,解码器只能在获得的有限的编码数据中尽可能恢复出存储的文件。
发明人团队发现现有的LT码模型在一些存储应用领域具有以下技术问题:
在一些使用LT码进行存储应用的场景中,例如DNA存储,编码过程与解码过程存在着时间上的跨度,即编码过程与解码过程不能同时进行。通常是编码器编码出足够数量的数据进行存储,将来解码器只能从获得的数据中尽可能解码出原数据。因此在这种场景中,从尽可能少的数据中获得尽可能高的解码成功率就显得十分重要。传统LT码编解码使用的生成矩阵为(0,1)矩阵,会有较高的概率容易形成线性相关的关系,这就使得解码器需要接受更多的编码数据才有可能形成一个满秩的矩阵,此外传统LT码的线性解码方法也过多地依赖于1度数据难以获得更高地解码成功率。所以传统的LT码在少数据中获得高解码成功率方面存在不足。
发明内容
根据上述现有技术问题,本发明提供了一种基于二元扩域以及提高满度分布比例的LT码混合编解码的方法及系统,用于解决或至少部分解决传统LT码从少量数据获得较高解码成功率的不足。
本发明采用的技术方案是一种基于二元扩域及提高满度比的LT码混合编解码方法,包括以下步骤:
步骤1,对待编码的数据进行处理,包括填充及划分数据包;
步骤2,确定满度数据比例以及度分布函数,根据随机种子产生度值;
步骤3,根据步骤1中划分的数据包个数以及步骤2中产生的度值,根据随机种子创建随机的生成矩阵;
步骤4,将步骤1中划分的数据与步骤3中创建的生成矩阵进行矩阵相乘,产生编码数据;
步骤5,对编码生成的数据进行随机种子的拼接并进行封装输出;
步骤6,解码时根据相同的随机种子以及度分布函数还原编码时的生成矩阵,解码器进行解码。
而且,步骤1实现方式为,按照需求对源数据进行指定长度的数据包划分,最后一个数据包不足指定长度的需要进行随机填充;将源数据划分成的若干个指定比特长的数据转换成指定长度二元扩域内的多项式向量。
而且,步骤2实现方式为,根据解码端确定的影响参数,将满度之前的若干个概率较低的度值的概率置为0,并将其概率全部加到满度上以此来提高满度的比例。
而且,步骤3实现方式为,在确定度分布函数之后,根据一个随机种子随机生成度值,并根据度值及同一个随机种子随机从原始数据划分的数据包的数目中随机挑选度值个编号,并在对应编号的位置从与原始待编码的数据相同的有限域中随机生成一个值进行填充,最后形成一个与原始待编码数据相同二元扩域内的多项式随机矩阵。
而且,步骤4实现方式为,
步骤1中原始数据被划分成一个二元扩域内的行向量,步骤3中生成了一个相同二元扩域内的生成矩阵,矩阵的行数与行向量的长度相同;行向量与矩阵进行向量乘法运算,运算的过程在有限域内进行,最后运算结果也在有限域内,也作为编码数据进行输出。
而且,步骤5实现方式为,将固定比特长的随机种子作为数据包头部,编码数据作为数据包的尾部,两者进行拼接封装成一个完整的编码数据包。
而且,步骤6实现方式为,解码器在获得编码数据以及恢复了编码数据对应的生成矩阵之后开始解码过程在解码时利用对应元素在二元扩域内对应的逆元进行运算基于二元扩域及提高满度比的LT码混合编解码;并采用了度解码算法与高斯消元法相结合的方式进行解码。
另一方面,本发明提供一种基于二元扩域及提高满度比的LT码混合编解码系统,用于实现如上所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
而且,包括处理器和存储器,存储器用于存储程序指令,处理器用于调用存储器中的存储指令执行如上所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
或者,包括可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序执行时,实现如上所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
本发明提出的方案用二元扩域元素替换传统LT码的(0,1)生成矩阵中的元素,同时在理想孤波分布的基础上提高满度分布比例的方法来提高LT码的解码成功率。传统LT码的生成矩阵为(0,1)矩阵,矩阵中容易形成线性相关的关系,这意味着解码器需要接受更多的编码数据才有可能有较高的概率形成一个满秩的矩阵,从而成功解码。本发明将(0,1)矩阵替换成二元扩域内的多项式矩阵可以有效提高矩阵的线性不先关性,在此基础上适当提高满度数据出现的概率,从而使得解码器从更少的编码数据中以较高的概率得到一个满秩的矩阵,利用高斯消元法从而获得较高的解码成功率。在一些利用LT码进行存储的应用场景中,编码与解码过程存在时间上的跨度,解码器在解码时有时只能从有限的编码数据中尽可能解码出存储的源文件,因此本发明对解码器从尽可能少的数据中获得较高的解码成功率具有十分重要的作用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于二元扩域以及提高满度分布比例的LT码混合编解码方法及系统的结构图;
图2为本发明实施例中基于二元扩域的多项式生成矩阵示意图;
图3为本发明的实施例中的系统编码流程图;
图4为本发明的实施例中的系统解码流程图;
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明的目的在于提供一种基于二元扩域以及提高满度分布比例的LT码混合编解码的方法及系统,用于改善现有的LT码在一些应用场景中难以从少量数据中获得较高解码成功率的问题。传统LT码编解码使用的生成矩阵为(0,1)矩阵,会有较高的概率容易形成线性相关的关系,这就使得解码器需要接受更多的编码数据才有可能形成一个满秩的矩阵,此外传统LT码的线性解码方法也过多地依赖于1度数据难以获得更高地解码成功率。所以传统的LT码在少数据中获得高解码成功率方面存在不足。为了从较少的编码数据中获得较高的解码成功率,有必要对LT码的生成矩阵进行优化。
本发明的主要构思如下:在传统LT码的基础上对LT码编解码过程中的生成矩阵进行优化改造。将传统LT码的(0,1)生成矩阵替换成二元扩域内的生成矩阵,并在此基础上提高矩阵中满度的概率,以此来提高生成矩阵的线性不相关程度,达到解码器能从较少的编码数据中获得较高解码成功率的目的。
为便于理解本发明技术方案起见,先提供相关技术原理说明如下:
1)首先编码器读取待编码的源数据,先对源数据进行处理,即对源数据按照指定的比特长l进行分组处理,设共划分成k个分组,若最后一个数据分组不足规定提特长,需要对其进行随机填充使其达到指定的长度。对分组生成的k个l比特长的数据块可以将其转换成GF(2l)内的数据类型,即转换成一个二元扩域内的多项式向量,其不可约多项式按照l以固定的方式进行选择。
对处理后的原始数据分组采用基于LT码编码技术进行编码,LT码的编码步骤具体如下:
(1)根据给出的度分布函数,利用随机种子得到一个随机值d,作为编码数据包的度。
(2)从源文件划分的k个数据包中,均匀随机挑选d个数据包作为待编码数据包的原始数据包。
(3)将选出的d个原始数据包进行基于二元扩域内的向量模乘运算,得到的结果就是编码数据包的值。
(4)一直重复上面三个步骤,可得到任意数量的编码数据包。
设源数据经过填充后被分成k个长度相等的原始数据分组c0,c1,c2,…,ck-1,记为c=[c0,c1,c2,…,ck-1],每个数据包的长度为l比特,则原始数据分组c可看作是一个1×k的行向量。设编码器生成的第j个数据为ej,有其中gij是一个k×1的随机列向量。此处i的取值为0,1,…,l-1,j的取值为0,1,…,k-1。设编码器生成了n个编码输出流e0,e1,e2,…,en-1,表示为e=[e0,e1,e2,…,en-1],则e(0,...,n-1)=cG(0,...,n-1)。其中G(0,...,n-1)简化表示为生成矩阵如下,
LT码的生成矩阵G是一个随机生成的k×n的(0,1)稀疏矩阵,g00、gk-1n-1等为其中的元素,下标为行号和列号。LT码编码时,生成矩阵的生成步骤如下:
(1)从度分布函数中,根据一个随机种子随机生成一个值d作为该次编码分组的度数;
(2)利用步骤1中的随机种子,从原始数据分组数k中随机选择d个数值;
(3)从第一列开始,在生成矩阵的对应列中将步骤2中选中的原始数据对应位置的数置为1;
(4)重复以上步骤,直至生成列数为n的矩阵。
2)使用二元扩域元素的生成矩阵替换
传统LT码的生成矩阵中非零元素为1,则非零元素位置相同的列之间容易形成线性相关的关系,这使得解码器需要更多的开销δ才可能使得k+δ列的生成矩阵的秩为k。为了提高生成矩阵中列与列之间的线性不相关性的程度,使得δ尽可能小且任意k+δ列的秩为k,本发明将传统生成矩阵中的元素从二元域变为二元扩域GF(2l)中的元素。GF(2l)中元素的数量恰好等于长度为l比特的二进制组合的数量。
行向量c=[c1,c2,c3,…,ck]中每个元素是一个l比特二进制数,其中每一个比特可以看作是GF(2)中的符号,那么整体l比特的数可以看作是二元扩域GF(2l)中的一个元素,也就是一个最高次为l-1次的多项式,那么就有ci=al-1xl-1+al-2xl-2+…+a1x1+a0x0,其中ai是GF(2)中的元素,此处i的取值为0,1,…,l-1,l个GF(2)中的元素可以组成一个GF(2l)中的元素。此时向量c就转换成了GF(2l)内的一个多项式向量。
同样地对G内的元素进行替换,G依然是一个k×n的随机系数矩阵,但是矩阵中的元素全部替换为GF(2l)内的随机元素,如下所示:
G是一个GF(2l)内的多项式矩阵,G内每一列中的非0元素都是根据一个唯一确定的随机种子,在GF(2l)内随机生成的一个元素。此时编码数据其中R为一个固定的最高项为l次的不可约多项式。
在解码器中,使用同样的随机种子,根据l选择相同的不可与多项式,即可恢复出与编码器相同的生成矩阵的列。若解码器在一定丢失概率下接收到任意k+δ个编码数据对应的生成矩阵的秩为k,使用高斯消去法,则解码端即可解码成功。
3)提高生成矩阵中满度的比例
当把生成矩阵中的元素替换为GF(2l)中的元素后,那么任意两个满度的列线性相关的概率是极低的水平,因此为了提高生成矩阵的线性不相关性,本发明适当地提高了满度分布地概率。传统LT码的度分布函数为理想孤波分布函数如下式,
其中满度d=k的概率是为提高满度分布的比例,本发明提出构造新的度分布函数如下所示。
α是编解码器提高满度分布比例的一个影响因子,可由用户输入确定的满度比例来计算出。当用户根据具体的需求或场景,确定一个有所提高的满度比例设为dk,则
α=dk·k(k-1)-1
放弃所有度为d∈[σ+1,k-1]的分布概率,将这些概率全部贡献给d=k以此来提高满度的概率。
对于度σ的推导如下所示:
请见图1,本发明实施例提供的一种基于二元扩域以及提高满度分布比例的LT码混合编解码方法,包括以下步骤:
步骤1:对待编码的数据进行处理,包括数据填充,根据要求进行数据包的划分,并将划分的数据转换成二元扩域内的多项式数据类型;
本发明进一步提出,编码器根据用户要求将待编码数据按照指定的比特长进行数据包划分,最后一个数据包长度不足的话需要进行填充,补成等长的数据包。划分出的每个数据可以看成一个多项式,原始数据划分成的若干个等长的数据可以看成一个多项式行向量,向量中的每一个元素都可以看作是某个相应二元扩域内的一个元素。
实施例中对待编码的源数据进行处理,包括以下步骤:
(1)按照需求对源数据进行指定长度的数据包划分,最后一个数据包不足指定长度的需要进行随机填充。
(2)将源数据划分成的若干个指定比特长的数据转换成指定长度二元扩域内的多项式向量。
步骤2:提高满度的分布比例,确定提高满度后的分布函数,并根据随机种子产生度值;
本发明在传统LT码的理想孤波度分布的基础上,提高了满度的比例。本发明根据用户需求确定一个提高的满度分布比例,将满度之前的若干个概率较低的度值的概率置为0,并将其概率全部加到满度上以此来实现满度比例的提高,并保持所有度分布的比例之和为1。在使用二元扩域内的元素替换生成矩阵元素之后,提高生成矩阵中满度的比例有利于提高矩阵的线性不相关性,提高解码端的解码成功率。在确定了新的度分布函数之后,编码器和解码器就可以根据随机种子,利用度分布函数生成度值用于编码和解码。
具体实现如前文3)提高生成矩阵中满度的比例中构造的新的度分布函数,以及根据度σ的推导公式生成度值。
步骤3:利用步骤1中划分的数据包个数以及步骤2中产生的度值,以及根据步骤2中的随机种子创建基于二元扩域的随机生成矩阵;
在确定度分布函数之后,要根据一个随机种子随机生成度值,并根据度值及同一个随机种子随机从原始数据划分的数据包的数目中随机挑选度值个编号,并在对应编号的位置从与原始待编码的数据相同的有限域中随机生成一个值进行填充,最后会形成一个与原始待编码数据相同二元扩域内的多项式随机矩阵。随机矩阵的行数与步骤1中源数据形成的行向量的长度相同。
步骤4:将步骤1中划分的源数据与步骤3中创建的生成矩阵进行矩阵相乘,产生编码数据;
步骤1中源数据划分成的若干个指定比特长的数据转换成指定长度二元扩域内的一个多项式行向量,与步骤3生成的随机矩阵相乘。源数据构成的行向量与随机矩阵的每一列相乘的结果就是一个编码数据。
因为,步骤1中原始数据被划分成一个二元扩域内的行向量,步骤3中生成了一个相同二元扩域内的生成矩阵,矩阵的行数与行向量的长度相同。行向量与矩阵进行向量乘法运算,运算的过程在有限域内进行,最后运算结果也在有限域内,也作为编码数据进行输出。
步骤5:对编码生成的数据进行随机种子的拼接并进行封装输出;
每个编码数据对应着随机矩阵的一列,而随机矩阵的每一列都是根据一个唯一确定的随机种子产生的。解码时根据相同的随机种子以及随机算法即可恢复出矩阵的这一列。因此需要将生成随机矩阵每一列的随机种子和编码数据一起捆绑发送给解码器。
实施例中,将固定比特长的随机种子作为数据包头部,编码数据作为数据包的尾部,两者进行拼接封装成一个完整的编码数据包。
步骤6:解码时根据相同的随机种子以及度分布函数还原编码时的生成矩阵,解码器进行解码。
实施例对接收到的编码数据进行解码,解码使用与编码相同的二元扩域以及使用线性解码方法与高斯消去法相结合的方式解码。具体实现方式为:
首先从所有数据中寻找1度的编码数据,使用二元扩域内的逆元进行1度数据的解码,再由解码出的数据取解码其他包含已解码出数据的编码数据,直到矩阵全为0或者再无1度的数据。若矩阵全为0则解码成功,若矩阵不为0,则对剩余因缺少1度数据而无法继续解码的剩余数据使用高斯消元继续解码。
值得注意的是。解码器在获得编码数据以及恢复了编码数据对应的生成矩阵之后开始解码过程,因为所有元素为二元扩域内的元素,所以在解码时需要利用对应元素在二元扩域内对应的逆元进行运算,也就是在运算完之后需要进行求逆操作。
传统LT码的解码方法是利用1度的数据循环迭代解码,但实际应用却是需要大量的编码数据才有可能利用1度的数据解码出全部的编码数据。为了从更少的编码数据中解码出全部的数据,同时保留传统LT码解码算法速度快的优势,本发明采用了1度解码算法与高斯消元法相结合的方式进行解码。
首先解码器从获得的所有数据中寻找1度的编码数据并进行循环迭代解码,在1度数据断层以后若还未解码出全部的原始数据,则对剩余的数据使用高斯消元法进行解码,只要是所有的编码数据所组成的生成矩阵式满秩的,就一定可以解码成功。
请见图2,本发明使用的二元扩域内的生成矩阵与传统的(0,1)矩阵对比,对于5×5的四个矩阵,(a)(c)为(0,1)矩阵,(b)(d)为多项式矩阵。(a)和(b)的第3列与第4列中非零元素所在的位置完全相同,但(a)中的非零元素为1,导致第3列与第4列完全相同,所以线性相关,因此(a)的秩为4。(b)中第3列与第4列非零元素为GF(23)中的随机元素,同一行的元素不相同,所以线性不相关,因此(b)的秩为5。(c)与(d)的第4列和第5列为满度的列,即所有元素都不为0,但(c)中第4列与第5列完全相同,所以线性相关,因此(c)的秩为4。(d)的第4列与第5列所有元素为GF(23)内的随机元素且同一行元素互不相同,所以线性不相关,因此(d)的秩为5。
请见图3,本实施例中,编码器的编码过程包括:
步骤1:编码器读入待编码数据;
步骤2:对待编码数据进行填充,按照指定的长度对待编码数据进行分组,并将分组后的数据转换成二元扩域内的多项式数据类型;
步骤3:确定提高满度的比例,确定度分布函数;
步骤4:根据源数据确定的二元扩域、步骤3确定的度分布函数以及随机种子创建随机的生成矩阵;
步骤5:将步骤2生成的二元扩域内的源数据与步骤4生成的生成矩阵进行二元扩域内的多项式矩阵乘法运算,生成编码数据,并与随机种子进行拼接,封装输出。
步骤6:判断编码的数据量是否达到要求,若是,则结束流程,否则转到步骤4继续编码。
请见图4,本实施例中,解码器的解码过程包括:
步骤1:解码器读入编码数据,并截取其中的随机种子;
步骤2:根据步骤1中剩余的编码数据长度确定与编码是相同的二元扩域;
步骤3:根据步骤1获得的随机种子,步骤2确定的二元扩域,使用与编码时相同的度分布函数以及随机方法,还原编码数据的生成矩阵;
步骤4:从所有编码数据中利用1度的编码数据及其二元扩域内的逆元进行线性解码运算;
步骤5:判断步骤4是否解码成功即解码出所有的源数据,若是,则解码成功,退出流程;否则对剩余的因缺少1度数据而无法继续解码的数据使用高斯消去法进行解码,进入步骤6。
步骤6:返回解码是否成功,退出流程。
具体实施时,本发明技术方案提出的方法可由本领域技术人员采用计算机软件技术实现自动运行流程,实现方法的系统装置例如存储本发明技术方案相应计算机程序的计算机可读存储介质以及包括运行相应计算机程序的计算机设备,也应当在本发明的保护范围内。
在一些可能的实施例中,提供一种基于二元扩域及提高满度比的LT码混合编解码系统,包括以下模块,
第一模块,用于对待编码的数据进行处理,包括填充及划分数据包;
第二模块,用于确定满度数据比例以及度分布函数,根据随机种子产生度值;
第三模块,用于根据第一模块中划分的数据包个数以及第二模块中产生的度值,根据随机种子创建随机的生成矩阵;
第四模块,用于将第一模块中划分的数据与第三模块中创建的生成矩阵进行矩阵相乘,产生编码数据;
第五模块,用于对编码生成的数据进行随机种子的拼接并进行封装输出;
第六模块,用于解码时根据相同的随机种子以及度分布函数还原编码时的生成矩阵,解码器进行解码。
在一些可能的实施例中,提供一种基于二元扩域及提高满度比的LT码混合编解码系统,包括处理器和存储器,存储器用于存储程序指令,处理器用于调用存储器中的存储指令执行如上所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
在一些可能的实施例中,提供一种基于二元扩域及提高满度比的LT码混合编解码系统,包括可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序执行时,实现如上所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
在一些可能的实施例中,提供一种基于二元扩域及提高满度比的LT码混合编解码系统,按照计算机应用习惯划分模块,包括以下模块:
模块1,用于对待编码的源数据进行处理,包括:
(1)按照需求对源数据进行指定长度的数据包划分,最后一个数据包不足指定长度的需要进行随机填充。
(2)将源数据划分成的若干个指定比特长的数据转换成指定长度二元扩域内的多项式向量。
模块2,用于对源数据进行基于二元扩域内的编码;
其中,在编码过程中创建随机生成矩阵时,首先根据解码端确定的一个影响参数,将满度之前的若干个概率较低的度值的概率置为0,并将其概率全部加到满度上以此来提高满度的比例。在使用二元扩域内的元素替换生成矩阵元素之后,提高生成矩阵中满度的比例有利于提高矩阵的线性不相关性,提高解码端的解码成功率。
在确定度分布函数之后,要根据一个随机种子随机生成度值,并根据度值及同一个随机种子随机从原始数据划分的数据包的数目中随机挑选度值个编号,并在对应编号的位置从与原始待编码的数据相同的有限域中随机生成一个值进行填充,最后会形成一个与原始待编码数据相同二元扩域内的多项式随机矩阵。
将源数据转换成的多项式行向量与多项式随机矩阵进行有限域内的多项式矩阵乘法,计算的结果即为编码的结果。
模块3,用于最终的编码数据生成;
其中,在创建随机矩阵过程中使用的随机种子需要传递给解码器,用于解码器恢复编码时的相同的矩阵内容,因此将编码数据对应的生成的矩阵每一列的随机种子进行拼接,将随机中拼接在编码数据的头部,与编码数据一起打包作为最终的编码数据。
模块4,用于对编码数据的解码;
解码器在获得阈值数量以上的编码数据后,开始解码过程。解码器逐个对编码数据进行处理,首先从编码数据的头部截取随机种子,再根据与编码器约定好的度分布函数以及相同的随机数生成方法,开始恢复编码数据对应的随机矩阵。
解码器根据接收到的编码数据得知源文件划分成的数据包的比特长,由此选择相同的二元扩域,以及相同的不可约多项式。根据度分布函数以及随机种子恢复出生成矩阵之后,开始解码过程。
为使本发明实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本邻域内的技术人员应明白,本发明的实施可提供方法、系统或计算机程序产品。因此,本发明可采用硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种基于二元扩域及提高满度比的LT码混合编解码方法,其特征在于,包括以下步骤:
步骤1,对待编码的数据进行处理,包括填充及划分数据包;实现方式为,按照需求对源数据进行指定长度的数据包划分,最后一个数据包不足指定长度的需要进行随机填充;将源数据划分成的若干个指定比特长的数据转换成指定长度二元扩域内的多项式向量;
步骤2,确定满度数据比例以及度分布函数,根据随机种子产生度值;实现方式为,根据用户需求确定一个提高的满度分布比例,将满度之前的若干个概率较低的度值的概率置为0,并将其概率全部加到满度上以此来实现满度比例的提高,并保持所有度分布的比例之和为1;
步骤3,根据步骤1中划分的数据包个数以及步骤2中产生的度值,根据随机种子创建随机的生成矩阵;
步骤4,将步骤1中划分的数据与步骤3中创建的生成矩阵进行矩阵相乘,产生编码数据;
步骤5,对编码生成的数据进行随机种子的拼接并进行封装输出;
步骤6,解码时根据相同的随机种子以及度分布函数还原编码时的生成矩阵,解码器进行解码。
2.根据权利要求1所述的一种基于二元扩域及提高满度比的LT码混合编解码方法,其特征在于:步骤3实现方式为,在确定度分布函数之后,根据一个随机种子随机生成度值,并根据度值及同一个随机种子随机从原始数据划分的数据包的数目中随机挑选度值个编号,并在对应编号的位置从与原始待编码的数据相同的有限域中随机生成一个值进行填充,最后形成一个与原始待编码数据相同二元扩域内的多项式随机矩阵。
3.根据权利要求1所述的一种基于二元扩域及提高满度比的LT码混合编解码方法,其特征在于:步骤4实现方式为,步骤1中原始数据被划分成一个二元扩域内的行向量,步骤3中生成了一个相同二元扩域内的生成矩阵,矩阵的行数与行向量的长度相同;行向量与矩阵进行向量乘法运算,运算的过程在有限域内进行,最后运算结果也在有限域内,也作为编码数据进行输出。
4.根据权利要求1所述的一种基于二元扩域及提高满度比的LT码混合编解码方法,其特征在于:步骤5实现方式为,将固定比特长的随机种子作为数据包头部,编码数据作为数据包的尾部,两者进行拼接封装成一个完整的编码数据包。
5.根据权利要求1所述的一种基于二元扩域及提高满度比的LT码混合编解码方法,其特征在于:步骤6实现方式为,解码器在获得编码数据以及恢复了编码数据对应的生成矩阵之后开始解码过程在解码时利用对应元素在二元扩域内对应的逆元进行运算基于二元扩域及提高满度比的LT码混合编解码;并采用了度解码算法与高斯消元法相结合的方式进行解码。
6.一种基于二元扩域及提高满度比的LT码混合编解码系统,其特征在于:包括处理器和存储器,存储器用于存储程序指令,处理器用于调用存储器中的存储指令执行如权利要求1-5任一项所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
7.一种基于二元扩域及提高满度比的LT码混合编解码系统,其特征在于:包括可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序执行时,实现如权利要求1-5任一项所述的一种基于二元扩域及提高满度比的LT码混合编解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310282668.9A CN116366074B (zh) | 2023-03-17 | 2023-03-17 | 基于二元扩域及提高满度比的lt码混合编解码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310282668.9A CN116366074B (zh) | 2023-03-17 | 2023-03-17 | 基于二元扩域及提高满度比的lt码混合编解码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116366074A CN116366074A (zh) | 2023-06-30 |
CN116366074B true CN116366074B (zh) | 2024-02-09 |
Family
ID=86941326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310282668.9A Active CN116366074B (zh) | 2023-03-17 | 2023-03-17 | 基于二元扩域及提高满度比的lt码混合编解码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366074B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850137A (zh) * | 2017-01-03 | 2017-06-13 | 北京科技大学 | 一种lt码度分布设计方法及装置 |
CN107769891A (zh) * | 2017-10-23 | 2018-03-06 | 武汉大学 | 基于编码矩阵特性的lt码编译码方法 |
WO2018115648A1 (fr) * | 2016-12-23 | 2018-06-28 | Orange | Codage et de décodage de paquets de données dans un corps de galois |
CN111327397A (zh) * | 2020-01-21 | 2020-06-23 | 武汉大学 | 一种信息数据纵向冗余校验纠错编解码方法 |
CN115378548A (zh) * | 2022-08-17 | 2022-11-22 | 中国人民解放军63892部队 | 一种面向无连接的二元叠加确定线性网络编码传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8693501B2 (en) * | 2010-11-23 | 2014-04-08 | The Chinese University Of Hong Kong | Subset coding for communication systems |
-
2023
- 2023-03-17 CN CN202310282668.9A patent/CN116366074B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018115648A1 (fr) * | 2016-12-23 | 2018-06-28 | Orange | Codage et de décodage de paquets de données dans un corps de galois |
CN106850137A (zh) * | 2017-01-03 | 2017-06-13 | 北京科技大学 | 一种lt码度分布设计方法及装置 |
CN107769891A (zh) * | 2017-10-23 | 2018-03-06 | 武汉大学 | 基于编码矩阵特性的lt码编译码方法 |
CN111327397A (zh) * | 2020-01-21 | 2020-06-23 | 武汉大学 | 一种信息数据纵向冗余校验纠错编解码方法 |
CN115378548A (zh) * | 2022-08-17 | 2022-11-22 | 中国人民解放军63892部队 | 一种面向无连接的二元叠加确定线性网络编码传输方法 |
Non-Patent Citations (2)
Title |
---|
Sparse degrees analysis for LT Codes Optimization;Pei-Chuan Tsai等;《2012 IEEE Congress on Evolutionary Computation》;1-6 * |
分组级短码长LT喷泉码的工程应用;张涛 等;《海军航空工程学院学报》;第30卷(第5期);433-436, 478 * |
Also Published As
Publication number | Publication date |
---|---|
CN116366074A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9876607B2 (en) | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes | |
JP3923617B2 (ja) | 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器 | |
CN103888148B (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US6411223B1 (en) | Generating high weight encoding symbols using a basis | |
JP3923618B2 (ja) | 誤り訂正符号を有する情報ビットの変換方法およびこの方法を実行する符号化器と復号化器 | |
CN101073205B (zh) | 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法 | |
CN106888026B (zh) | 基于lsc-crc译码的分段极化码编译码方法及系统 | |
US8839067B2 (en) | Apparatus and method for accelerating the encoding of raptor codes | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN108400838B (zh) | 数据处理方法及设备 | |
CN108282265B (zh) | 纠错编码方法、装置、设备及计算机可读存储介质 | |
JPWO2019130475A1 (ja) | 通信路分極を用いた誤り訂正符号化方法および装置、復号方法および装置 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
CN111464300A (zh) | 一种适用于连续变量量子密钥分发的高速后处理方法 | |
CN116366074B (zh) | 基于二元扩域及提高满度比的lt码混合编解码方法及系统 | |
CN107769891A (zh) | 基于编码矩阵特性的lt码编译码方法 | |
US20170288697A1 (en) | Ldpc shuffle decoder with initialization circuit comprising ordered set memory | |
CN115811381A (zh) | 网络通信方法、网络通信装置、电子设备及存储介质 | |
CN112534724B (zh) | 用于解码极化码和乘积码的解码器和方法 | |
EP3972133B1 (en) | Selection of pivot positions for linear network codes | |
CN105871508B (zh) | 一种网络编解码方法及系统 | |
CN107592958B (zh) | 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码 | |
CN117254823B (zh) | 一种并行rs编码方法、装置、系统及计算机存储介质 | |
WO2018019228A1 (zh) | 一种编码方法及装置 | |
KR101512078B1 (ko) | 특정밀도를 기반으로 하는 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치 |
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 |