CN114079475A - Encoding or decoding method of finite field and related device - Google Patents

Encoding or decoding method of finite field and related device Download PDF

Info

Publication number
CN114079475A
CN114079475A CN202010820658.2A CN202010820658A CN114079475A CN 114079475 A CN114079475 A CN 114079475A CN 202010820658 A CN202010820658 A CN 202010820658A CN 114079475 A CN114079475 A CN 114079475A
Authority
CN
China
Prior art keywords
matrix
finite field
coding
order
decoding
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.)
Pending
Application number
CN202010820658.2A
Other languages
Chinese (zh)
Inventor
郑若滨
李宗鹏
孙奇福
唐汉琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010820658.2A priority Critical patent/CN114079475A/en
Priority to PCT/CN2021/112380 priority patent/WO2022033566A1/en
Publication of CN114079475A publication Critical patent/CN114079475A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35

Abstract

The embodiment of the application discloses a finite field coding or decoding method, a receiving end and an intermediate node. Under the scene that the computation power of a sending end, a receiving end and an intermediate node is inconsistent, a finite field with a nested structure is used for encoding, so that the computation complexity in decoding is effectively reduced, the decoding speed and the data throughput are improved, and the accuracy of decoding is guaranteed.

Description

Encoding or decoding method of finite field and related device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a finite field encoding or decoding method and a related apparatus.
Background
Network Coding (NC) born in 2000 proposes an idea of how to reach the Network communication capacity limit determined by the "maximum flow minimum cut theorem" when a single sending end or multiple sending ends multicast or broadcast to multiple receiving ends in a communication Network. In a conventional communication network, an intermediate node (e.g., a base station or a routing switch, etc.) only performs a "store-and-forward" function, and information is considered as "goods", and thus the information is considered to be non-superimposable. This cognitive limitation leads to difficulties in the network to achieve maximum streaming. The NC indicates that maximum streaming of network traffic can be achieved if the intermediate node is allowed to encode and transmit multiple incoming information streams.
To implement network coding, the sender, receiver and intermediate node are required to keep consistent coding and decoding in the same finite field (e.g. Galois Field (GF)), for example, if the sender chooses to code in GF (2)8) The encoding of the finite field requires that all intermediate nodes participating in the network encoding are also at GF (2)8) All receivers need to be in GF (2) for re-encoding (Recoding)8) The finite field of (2) is decoded. Therefore, during data transmission, each network node needs to configure coding parameters consistent with the transceiving end for each flow or each application.
The difference of the computing power (also called coding or decoding power) of the sending end, the receiving end and the intermediate node is great, and the difficulty of coding or decoding by using consistent finite fields is great, which affects the popularization and application of network coding.
Disclosure of Invention
The embodiment of the application provides a finite field coding or decoding method, which specifically comprises the following steps: under the scene that the calculation power of a sending end, a receiving end and an intermediate node is inconsistent, the finite field with a nested structure is used for coding, so that the calculation complexity during decoding is effectively reduced, the decoding speed and the data throughput are improved, and the decoding accuracy is ensured.
In a first aspect, an embodiment of the present application provides a finite field coding method, including:
encoding the k source data blocks by using a first encoding coefficient matrix to generate k first encoding data blocks, wherein the first encoding data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
generating one or more first coded messages according to the k first coded data blocks, wherein the first coded messages comprise one or more first coded data blocks and a group of coding coefficients in a first coding coefficient matrix corresponding to the one or more first coded data blocks;
the first coding coefficient matrix comprises coding coefficients of a first finite field and coding coefficients of a second finite field, the first finite field and the second finite field are finite fields with nested structures, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structures meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
one or more first encoded messages are transmitted.
Specifically, the transmitting end uses the first coding coefficient matrix to perform coding processing on k source data blocks in a group (Generation), so as to obtain one or more first coded data blocks (for example, k first coded data blocks). The first encoding coefficient matrix comprises encoding coefficients of a first finite field and encoding coefficients of a second finite field, and k is a positive integer. The first finite field and the second finite field are finite fields with a nested structure, wherein the first finite field is GF (E)d) The second finite field is GF (E)D) Wherein E is a prime number, D is a positive integer, D ═ q × D, and q is a positive integer greater than 1.
The first encoded packet further includes one or more source data blocks, the source data blocks correspond to a set of encoding coefficients in an identity matrix, and the size of the identity matrix is the same as the first encoding coefficient matrix. A set of coding coefficients in the identity matrix is also referred to as coding coefficients of the source data block.
A group of coding coefficients in a first coding coefficient matrix corresponding to the first coded data block is also referred to as coding coefficients of the first coding coefficient matrix.
The first finite field and the second finite field may include a plurality of finite fields, and the first encoding coefficient matrix includes 2 or more finite fields having a nested structure.
In the embodiment of the application, the sending end encodes the source data block in a plurality of finite fields with nested structures, so that the receiving end can receive the message of the finite fields with the nested structures. Due to the finite field with the nested structure, elements and algorithms of the finite field with higher order comprise elements and operations of the finite field with lower order. Therefore, according to self-computing power and application requirements, the receiving end can firstly decode the encoded data of the finite field with higher order in the finite field with lower order, and secondly continuously decode the previous decoding result in the finite field with higher order. The method effectively reduces the computational complexity, improves the decoding speed and the data throughput, and ensures the accuracy of decoding.
With reference to the first aspect, in one possible implementation manner of the first aspect,
the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the first finite field and the coding coefficient of the second finite field are alphan,kN is a positive integer;
the one or more first coded data blocks include: cn, wherein the ratio of the total number of the carbon atoms,
Figure BDA0002634302600000021
for example, assume that a group contains k blocks of source data, pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k. The sending end is according to p1~pkGenerating one or more first coded data blocks cn={c1~cnN is a positive integer. Wherein, c1Is p1~pkUnder GF (E)d) And GF (E)D) A first coded data block obtained by coding in finite field, i.e. with GF (E) at the transmitting endd) And GF (E)D) Coding coefficient alpha in finite field1,1...α1,kTo p1~pkCoding to obtain c1Wherein c is1The following formula can be satisfied:
Figure BDA0002634302600000022
wherein alpha is1,1...α1,kIs GF (E)d) And GF (E)D) Coding coefficients in a finite field.
cnIs p1~pkUnder GF (E)d) And GF (E)D) The first coded data block obtained by coding in finite field, i.e. GF (E) is adopted by the sending endd) And GF (E)D) Coding coefficient alpha in finite fieldn,1…αn,kTo p1~pkCoding to obtain cnWherein c isnThe following formula can be satisfied:
Figure BDA0002634302600000023
wherein alpha isn,1…αn,kIs GF (E)d) And GF (E)D) Coding coefficients in a finite field.
With reference to the first aspect, in a possible implementation manner of the first aspect, the one or more first encoded packets further include a finite field order, where the finite field order corresponds to the first encoded data block and/or the source data block, and the finite field order is a finite field order where a group of encoding coefficients in a first encoding coefficient matrix corresponding to the first encoded data block is located, and/or a finite field order where an encoding coefficient of the source data block is located.
In an alternative implementation, a first encoded packet carries a first encoded data block (or a source data block).
In another alternative implementation, a first encoded packet carries a plurality of first encoded data blocks (and/or one or more source data blocks). And is not particularly limited herein.
Specifically, the order of the finite field may be carried after the first encoded data block, and the order of the finite field may also be carried before the first encoded data block, which is not limited herein.
Illustratively, if the finite field is GF (E)2) The order of the finite field may be 2. The order of the finite field is used to indicate the order of the finite field corresponding to the first encoded data block.
In the embodiment of the present application, the first encoded packet carries the number of the finite field orders, which is convenient for the intermediate node or the receiving end to identify the data block corresponding to the number of the finite field orders and encode the used finite field. The decoding speed is improved.
With reference to the first aspect, in a possible implementation manner of the first aspect, the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first coded packet;
the coding coefficient of the second finite field is carried in the transmission layer of the first coding message;
the coding coefficient of the source data block is carried in the network layer or the data link layer of the first encoded packet.
For example, the encoding coefficient (e.g., d is less than or equal to 2) of the lower order finite field is carried in an Internet Protocol (IP) header or an Ethernet (ETH) frame header, and may be implemented by setting an Internet Protocol version6 (IPv 6) extension header, an IP or an ETH extension field, for example; the coding coefficient of the finite field with a higher order number is carried in a Transmission Control Protocol (TCP) header, and may be carried by setting a TCP option, for example.
In this embodiment, the coding coefficients of different finite fields may be carried in different protocol layers in the first encoded packet, so that the subsequent node can perform re-encoding or decoding on the first encoded packet conveniently.
In a second aspect, an embodiment of the present application provides a finite field coding method, including:
encoding the k source data blocks by using a second encoding coefficient matrix to generate k second encoding data blocks, wherein the second encoding data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
using a third coding coefficient matrix to perform coding processing on the k second coding data blocks and the k source data blocks to generate g third coding data blocks, wherein the third coding data blocks correspond to a group of coding coefficients in the third coding coefficient matrix, and g is a positive integer;
generating one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, one second encoded message comprising: the second coded message comprises one or more third coded data blocks and coding coefficients corresponding to the third coded coefficient matrix;
the second coding coefficient matrix comprises coding coefficients of a third finite field, the third coding coefficient matrix comprises coding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with nested structures, the order of the fourth finite field is higher than that of the third finite field, and the finite fields with nested structures satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and transmitting one or more second coded messages.
Specifically, the coding coefficient corresponding to the third coding coefficient matrix is also referred to as the coding coefficient of the third coding coefficient matrix.
The third finite field and the fourth finite field are finite fields with nested structure, wherein the third finite field is GF (E)D1) The fourth finite field is GF (E)d1) E is prime number, D1 is positive integer, D1 is positive integer, D1 is z x D1, z is positive integer greater than 1. The source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k; the coding coefficient of the third finite field is alpha'n,kN is a positive integer; the one or more second encoded data blocks (e.g., k second encoded data blocks) include: c'nWherein, in the step (A),
Figure BDA0002634302600000041
the fourth finite field has a coding coefficient of βm,k+n(ii) a One or more third coded data blocks (e.g., g third coded data blocks) include: bmWherein, in the step (A),
Figure BDA0002634302600000042
m is a positive integer.
The sending end uses a second coding coefficient matrix to code k source data blocks in a group (Generation) to obtain one or more second coding data blocks, wherein the second coding coefficient matrix at least comprises a coding coefficient of a third finite field, and k is a positive integer. The third finite field is GF (E)D1) E is a prime number, and D1 is a positive integer.
Suppose a group contains k blocks of source data, pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k. The sending end is according to p1~pkGenerating one or more second encoded data blocks c'n={c’1~c’nN is a positive integer. Wherein, c'1Is p1~pkUnder GF (E)D1) A second coded data block obtained by coding in finite field, i.e. with GF (E) at the transmitting endD1) Coding coefficient alpha 'in finite field'1,1…α′1,kTo p1~pkCoding to obtain c'1Wherein, c'1The following formula can be satisfied:
Figure BDA0002634302600000043
wherein, alpha'1,1...α′1,kIs GF (E)D1) Coding coefficients in a finite field.
c’nIs p1~pkUnder GF (E)D1) A second coded data block obtained by coding in the finite field, i.e. with GF (E) at the transmitting endD1) Coding coefficient alpha 'in finite field'1,1...α′1,kTo p1~pkCoding to obtain c'nWherein, c'nThe following formula can be satisfied:
Figure BDA0002634302600000044
wherein, alpha'n,1...α′n,kIs GF (E)D1) Coding coefficients in a finite field.
When the transmitting end generates one or more second encoded data blocks { c'1~c′nAfter, one or more second encoded data blocks { c'1~c′nAnd k source data blocks p1~pkCarry out coding processingGenerating one or more third coded data blocks { b }1~bmAnd m is a positive integer.
Wherein the third encoding coefficient matrix comprises at least encoding coefficients of a fourth finite field. The third finite field and the fourth finite field are finite fields with nested structure, wherein the third finite field is GF (E)D1) The fourth finite field is GF (E)d1) E is prime number, D1 is positive integer, D1 is positive integer, D1 is z x D1, z is positive integer greater than 1.
The third coded data block is bmWherein, in the step (A),
Figure BDA0002634302600000045
wherein, betam,k+nFor the coding coefficient of the fourth finite field, the k source data blocks are pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k.
In an alternative implementation manner, the fourth finite field is a lowest-order finite field supported by the current sending end, and the lowest-order finite field and the third finite field have a nested structure.
In this embodiment of the present application, a sending end encodes a source data block in a plurality of finite fields with nested structures, and a receiving end can decode the packet in the finite fields with nested structures. Due to the finite field with the nested structure, elements and algorithms of the finite field with higher order comprise elements and operations of the finite field with lower order. Therefore, firstly, the receiving end can decode the encoded data of the finite field with higher order in the finite field with lower order according to self calculation and application requirements, and secondly, continuously decode the previous decoding result in the finite field with higher order. The method effectively reduces the computational complexity, improves the decoding speed and the data throughput, and ensures the accuracy of decoding.
With reference to the second aspect, in a possible implementation manner of the second aspect, a second encoded packet further includes:
one or more second encoded data blocks, and a set of encoding coefficients in a second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more source data blocks, the source data blocks corresponding to a set of coding coefficients in an identity matrix, the size of the identity matrix being determined by the number of second coded data blocks and the number of source data blocks.
In an optional implementation manner, the one or more second coding coefficient messages generated by the sending end carry a source data block. The data blocks carried by the one or more second coding coefficient messages may be represented as: { p1...pk}∪{c′1…c′n}∪{b1...bm}. The second coding coefficient message may also be referred to as a system code message.
In another optional implementation manner, one or more second coding coefficient messages generated by the transmitting end do not carry the source data block and the second coding data block. The data blocks carried by the one or more second coding coefficient messages may be represented as: { b1...bm}. The second coding coefficient message may also be referred to as a non-systematic code message.
In this embodiment of the present application, the second coding coefficient packet may be a system code packet or a non-system code packet, so that the implementation flexibility of the scheme is improved.
With reference to the second aspect, in one possible implementation manner of the second aspect,
the coding coefficient of the third finite field is carried in the transmission layer of the second coding message;
and the coding coefficient of the fourth finite field is carried in the network layer or the data link layer of the second coded message.
For example, the encoding coefficient of the finite field with a lower order is carried in an Internet Protocol (Internet Protocol, IP) header or an Ethernet (Ethernet) frame header, and may be implemented by setting an Internet Protocol version6 (IPv 6) extension header, an IP or an ETH extension field, for example; the coding coefficient of the finite field with a higher order number is carried in a Transmission Control Protocol (TCP) header, and may be carried by setting a TCP option, for example.
In this embodiment, the coding coefficients of different finite fields may be carried in different protocol layers in the second encoded packet, so that the subsequent node can perform re-encoding or decoding on the second encoded packet conveniently.
With reference to the second aspect, in a possible implementation manner of the second aspect, the one or more second encoded packets further include a finite field order, where the finite field order includes a finite field order in which an encoding coefficient of the second encoded data block is located, a finite field order in which an encoding coefficient of the third encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In an alternative implementation, a second encoded message carries a third encoded data block (or a source data block, or a second encoded data block).
In another alternative implementation, one second encoded message carries a plurality of third encoded data blocks (and/or one or more source data blocks, and/or one or more second encoded data blocks). And is not particularly limited herein.
Illustratively, if the finite field is GF (E)2) The order of the finite field may be 2. The order of the finite field is used to indicate the order of the finite field corresponding to the first encoded data block.
In the embodiment of the present application, the first encoded packet carries the number of the finite field orders, which is convenient for the intermediate node or the receiving end to identify the data block corresponding to the number of the finite field orders and encode the used finite field. The decoding speed is improved.
With reference to the second aspect, in a possible implementation manner of the second aspect, the second encoding coefficient matrix further includes: and coding coefficients of a fifth finite field, wherein the fifth finite field and the third finite field have a nested structure, and the order of the fifth finite field is different from that of the third finite field.
In this embodiment, the coding coefficients in the second coding coefficient matrix may include a plurality of finite fields having a nested structure. The transmitting end is applicable to various coding scenes, and the diversity of the scheme is improved.
In a third aspect, an embodiment of the present application provides a method for re-encoding a finite field, including:
receiving one or more third coded messages, wherein the third coded messages comprise g ' fourth coded data blocks and coding coefficients corresponding to the g ' fourth coded data blocks, and g ' is a positive integer;
encoding g' fourth encoded data blocks by using a fourth encoding coefficient matrix to generate one or more fifth encoded data blocks, wherein the fifth encoded data blocks correspond to a group of encoding coefficients in the fourth encoding coefficient matrix;
generating one or more re-encoded messages according to the one or more fifth encoded data blocks, wherein the re-encoded messages comprise the one or more fifth encoded data blocks and a group of encoding coefficients in a fourth encoding coefficient matrix corresponding to the one or more fifth encoded data blocks;
the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coding message have a nested structure, and the finite field with the nested structure satisfies the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
one or more re-encoded messages are sent.
Specifically, for convenience of description, the coding coefficient corresponding to the fourth coded data block is also referred to as the coding coefficient of the fourth coded data block.
For example, the intermediate node may receive the third encoded packet sent by another intermediate node, where the other intermediate node is a previous-hop node of the intermediate node. The intermediate node may also receive a third encoded packet sent by the sending end. The third encoded message comprises the first encoded message and/or the second encoded message.
The third encoded packet includes g ' fourth encoded data blocks and the encoding coefficients corresponding to the g ' fourth encoded data blocks, where g ' is a positive integer.
And the intermediate node uses the fourth coding coefficient matrix to carry out coding processing on the fourth coding data block to generate a fifth coding data block. The fifth encoded data block corresponds to a set of encoding coefficients in the fourth encoding coefficient matrix. For convenience of description, the encoding coefficient in the fourth encoding coefficient matrix is referred to as a fourth encoding coefficient. The fourth encoding coefficient matrix includes one or more fourth encoding coefficients.
The finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coding packet have a nested structure, specifically, the finite field of the fourth coding coefficient and the finite field of the coding coefficient corresponding to the fourth coding data block have a nested structure, wherein the finite field of the fourth coding coefficient and the finite field of the coding coefficient corresponding to the fourth coding data block satisfy the following relationship: the orders have a multiple relation, and the characteristic numbers are consistent. Illustratively, when the third encoded packet is the first encoded packet, the finite field of the fourth encoded coefficient has a nested structure with the first finite field and the second finite field; and when the third coded message is the second coded message, the finite field of the fourth coding coefficient, the third finite field and the fourth finite field have a nested structure.
And after the intermediate node generates one or more fifth coded data blocks, generating one or more recoded messages. A recoded message comprising: one or more fifth coded data blocks, one or more fourth coded coefficients, and/or one or more fourth coded data blocks, the coded coefficients of one or more fourth coded data blocks;
in an optional implementation manner, when sending the fifth encoded data block, the intermediate node may send the fifth encoded data block by using one re-encoding packet to carry one fifth encoded data block, or send the fifth encoded data block by using one re-encoding packet to carry multiple fifth encoded data blocks, which is not specifically limited herein.
Taking the way that the intermediate node transmits the re-encoded packet in a manner that one re-encoded packet carries one fifth encoded data block, the intermediate node may add a packet header to each fifth encoded data block to form a packet, and transmit the packet after adding a corresponding fourth encoding coefficient to the packet header or the packet tail.
Optionally, the re-encoded packet may also carry a limited domain order, where the limited domain order is used to indicate a limited domain order corresponding to a fifth encoded data block carried by the re-encoded packet. Illustratively, the device isThe number of the finite field may be a value of a power corresponding to a finite field, for example, if the finite field of the fifth encoded data block (the fourth encoding coefficient corresponding to the fifth encoded data block) in the re-encoded message is GF (E)2) The order of the finite field may be 2. The order of the finite field can also be the maximum power number of the finite field in the recoded message.
In the embodiment of the application, the intermediate node recodes the message output by the sending end, so that the sending end and the intermediate node can form a distributed code, namely, one part of the sending end code is coded, the intermediate node recodes the other part, the sending end can carry out the code with lower complexity in the way, and the message output by the sending end is further recoded by the intermediate node, thereby reducing the network load and improving the transmission efficiency.
With reference to the third aspect, in a possible implementation manner of the third aspect, an order of a finite field of a coding coefficient (fourth coding coefficient) in the fourth coding coefficient matrix is equal to a lowest order of a finite field in a network in which the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
Specifically, in an optional implementation manner, the order of the finite field of the fourth coding coefficient is equal to the lowest order of the finite field in the network in which the intermediate node is located. Illustratively, when the minimum order of the finite field in the network where the intermediate node is located is d0, the minimum order finite field is GF (E)d0) E is a prime number, and d0 is a positive integer. The finite field in which the fourth coding coefficient is located is GF (E)d0)。
In another optional implementation manner, the order of the finite field of the fourth coding coefficient is less than or equal to the highest order of the finite field in the network in which the intermediate node is located, or the order of the finite field of the fourth coding coefficient is greater than or equal to the highest order of the finite field in the network in which the intermediate node is locatedThe lowest order of the finite field. Illustratively, when the minimum order of the finite field in the network where the intermediate node is located is d0, the minimum order finite field is GF (Ed)0) E is a prime number, and d0 is a positive integer. The maximum order of the finite field in the network where the intermediate node is located is dmax, and the maximum order finite field is GF (E)dmax) Dmax is a positive integer. The range of the order of the fourth finite field is: dmax or less and d0 or more.
In the embodiment of the present application, the finite field order of the fourth coding coefficient may have multiple value schemes. So that the intermediate node is applicable to a variety of network scenarios. The application range of the intermediate node is increased.
With reference to the third aspect, in one possible implementation manner of the third aspect,
the fourth coded data block is Xi, i is more than or equal to 1 and less than or equal to u, i is a positive integer, and u is a positive integer;
the fourth coding coefficient is gammau,vWherein v is a positive integer greater than 1;
the fifth coded data block is YvWherein, in the step (A),
Figure BDA0002634302600000071
wherein j is more than or equal to 1 and less than or equal to v.
Specifically, the third encoded packet (including the first encoded packet/the second encoded packet) is X1~XiAnd a third encoded packet may include a fourth encoded data block and an encoding coefficient corresponding to the fourth encoded data block. The intermediate node will X1~XiMultiplying the new message by a fourth coding coefficient matrix to obtain a new message Y1~Yv. Wherein, the fourth encoding coefficient matrix comprises encoding coefficients belonging to the re-encoded finite field, and the 1 st row encoding coefficient of the fourth encoding coefficient matrix may be { γ [ ]1,1...γ1,v},X1~XuAnd { gamma [ ]1,1...γ1,vMultiplication is carried out to obtain Y1By analogy, the u-th row encoding coefficient of the fourth encoding coefficient matrix may be { γ }u,1…γu,v},X1~XuAnd { gamma [ ]u,1...γu,vMultiplying to obtain Yv.
In a fourth aspect, an embodiment of the present application provides a finite field decoding method, where the method includes:
receiving one or more fourth encoded messages, wherein one fourth encoded message comprises t ' sixth encoded data blocks and the encoding coefficients of the t ' sixth encoded data blocks, and t ' is a positive integer;
decoding one or more fourth encoded packets in a low-order finite field and a high-order finite field by a first decoding method to generate k source data blocks, where k is a positive integer,
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
or, decoding one or more fourth encoded messages in a highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block by using a second decoding manner to generate k 'source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block, and k' is a positive integer.
Specifically, the receiving end receives one or more fourth encoded messages. The fourth encoded packet may be: a second encoded message or a re-encoded message. The second encoded packet may be directly sent to the receiving end by the intermediate node, or may be forwarded to the receiving end by the intermediate node after being encoded (also referred to as re-encoded), where this is not limited here.
In the embodiment of the present application, because the fourth encoded packet received by the receiving end is encoded by using a finite field with a nested structure. From the perspective of decoding speed or throughput, the decoding operation of the high-order finite field in the decoding process is converted into the low-order finite field (for example, the lowest-order finite field in the current network), so that the calculation complexity is effectively reduced, and the decoding speed and the data throughput are improved.
With reference to the fourth aspect, in a possible implementation manner of the fourth aspect, performing a decoding operation on one or more fourth encoded packets by using a first decoding manner, and generating k source data blocks includes:
performing a first decoding operation on one or more fourth encoded messages within a low-order finite field;
and performing a second decoding operation on the result obtained by the first decoding operation in a high-order finite field to generate k source data blocks.
In this embodiment, when the receiving end performs decoding, the decoding may be performed in the low-order finite field first, and further decoding may be performed in the high-order finite field using the decoding result of the low-order finite field, so as to obtain one or more source data blocks finally. Decoding in a low-order limited domain effectively reduces the requirement on the computational power of a receiving end. And the decoding in the high-order finite field is reserved, so that the decoding success rate is improved.
With reference to the fourth aspect, in a possible implementation manner of the fourth aspect, performing a first decoding operation on one or more fourth encoded packets in a low-order finite field includes:
determining a coding coefficient of a low-order finite field and a coding coefficient of a high-order finite field according to a coding coefficient corresponding to a sixth coding data block in one or more fourth coding messages;
forming a low-order domain coding coefficient matrix by using the coding coefficients of the low-order finite domain;
forming a first decoding matrix and a second decoding matrix according to the low-order domain coding coefficient matrix, wherein,
coding coefficients corresponding to the high-order finite field in the coding coefficients of the first decoding matrix form a first high-order field coding coefficient group, and the finite field of the first high-order field coding coefficient group is the finite field with the lowest order in all high-order finite fields of the coding coefficients corresponding to the sixth coding data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving terminal;
performing decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, wherein the first decoding sub-matrix is a zero matrix, and the second decoding matrix is an identity matrix with a diagonal coefficient of 1;
when the second decoding matrix is subjected to decoding operation, the first decoding matrix is subjected to synchronous decoding operation to generate a third decoding sub-matrix and a fourth decoding sub-matrix;
in an optional implementation manner, the number of rows of the third decoding sub-matrix is consistent with the number of rows of the first decoding sub-matrix, and the number of rows of the fourth decoding sub-matrix is consistent with the number of rows of the second decoding sub-matrix;
in another alternative implementation, the number of columns of the third decoding submatrix is consistent with the number of columns of the first decoding submatrix, and the number of columns of the fourth decoding submatrix is consistent with the number of columns of the second decoding submatrix;
and when the first decoding matrix is subjected to decoding operation, synchronous decoding operation is carried out on a sixth encoding data block corresponding to the first decoding matrix to generate data to be decoded.
With reference to the fourth aspect, in one possible implementation manner of the fourth aspect,
performing a second decoding operation in the high-order finite field on the result obtained by the first decoding operation to generate one or more source data blocks comprises:
the result of the first decoding operation includes a third decoding submatrix, a fourth decoding submatrix, and data to be decoded,
determining a fifth decoding sub-matrix corresponding to the fourth decoding sub-matrix according to the fourth decoding sub-matrix, wherein the fifth decoding sub-matrix consists of coding coefficients of a high-order finite field;
generating a sixth decoding sub-matrix according to the fourth decoding sub-matrix and the fifth decoding sub-matrix, wherein a vector in the sixth decoding sub-matrix is obtained by adding a group of coding coefficients of the fifth decoding sub-matrix and a group of coding coefficients of the fourth decoding sub-matrix in a finite field corresponding to the fifth decoding sub-matrix;
forming a fourth decoding matrix according to the third decoding submatrix and the sixth decoding submatrix;
carrying out decoding operation on the fourth decoding matrix to generate an identity matrix with a diagonal coefficient of 1;
and when the fourth decoding matrix is decoded, synchronously decoding the data to be decoded to generate k source data blocks.
With reference to the fourth aspect, in a possible implementation manner of the fourth aspect, forming a first decoding matrix and a second decoding matrix according to a low-order-domain coding coefficient matrix includes:
according to the low-order domain coding coefficient matrix, a first decoding matrix, a second decoding matrix and a third decoding matrix are formed, wherein coding coefficients corresponding to a high-order finite field in the third decoding matrix form a third high-order domain coding coefficient group, the finite field of the third high-order domain coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group and the second high-order finite field coding coefficient group in the coding coefficients corresponding to a sixth coding data block, and the order of the finite field corresponding to the third high-order domain coding coefficient group is higher than the highest-order finite field order supported by a receiving end;
and carrying out decoding operation on the third decoding matrix to generate a zero matrix.
In the embodiment of the application, the receiving end can discard the message exceeding the self computing power, so that the computing resource is saved, and the decoding speed is increased.
With reference to the fourth aspect, in a possible implementation manner of the fourth aspect, for k source data blocks, where k is a positive integer,
decoding the w fourth encoded packets when the following conditions are met, including:
Figure BDA0002634302600000091
wherein the content of the first and second substances,
Figure BDA0002634302600000101
is composed of
Figure BDA0002634302600000102
The matrix is a matrix of a plurality of matrices,
Figure BDA0002634302600000103
satisfy the requirement of
Figure BDA0002634302600000104
The third decoding matrix is
Figure BDA0002634302600000106
The high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of a high-order finite domain, and the low-order domain coding coefficient matrix is H, w is a positive integer.
In this embodiment, the receiving end determines a decoding time point of the fourth encoded packet by detecting the fourth encoded packet. After receiving a sufficient number of fourth encoded messages, the receiving end decodes the fourth encoded messages to ensure the accuracy of decoding.
With reference to the fourth aspect, in a possible implementation manner of the fourth aspect, performing a decoding operation on one or more fourth encoded packets by using a second decoding manner to generate one or more source data blocks includes:
decoding the sixth coded data block in the highest-order finite field corresponding to the coding coefficient of the sixth coded data block, so that a matrix formed by the coding coefficients of the sixth coded data block is decoded to obtain an identity matrix;
and when the matrix formed by the coding coefficients of the sixth coding data block is decoded, the sixth coding data block is synchronously decoded to generate k' source data blocks.
In the embodiment of the present application, the fourth encoded packet received by the receiving end is encoded by using a finite field with a nested structure. In a finite field with a nested structure, an equivalent multiplication table (or an equivalent addition table) can be used for multiplication (or addition). Therefore, when decoding is performed at the receiving end, the sixth encoded data block can be decoded within the highest order finite field corresponding to the encoding coefficient of the sixth encoded data block. The method effectively reduces the computational complexity and improves the decoding speed and the data throughput. And moreover, the implementation flexibility of the scheme is improved.
In a fifth aspect, the present application provides a network apparatus, including:
the processing module is used for encoding the k source data blocks by using the first encoding coefficient matrix to generate k first encoding data blocks, wherein the first encoding data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
the processing module is further configured to generate one or more first encoded messages according to the k first encoded data blocks, where the first encoded messages include the one or more first encoded data blocks and a group of encoding coefficients in a first encoding coefficient matrix corresponding to the one or more first encoded data blocks;
the first coding coefficient matrix comprises coding coefficients of a first finite field and coding coefficients of a second finite field, the first finite field and the second finite field are finite fields with nested structures, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structures meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and the transceiver module is used for transmitting one or more first coded messages.
In some alternative embodiments of the present application,
the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the first finite field and the coding coefficient of the second finite field are alphan,kN is a positive integer;
the one or more first coded data blocks include: cn, wherein the ratio of the total number of the carbon atoms,
Figure BDA0002634302600000105
in some optional embodiments of the present application, the first encoded packet further includes one or more source data blocks, where the source data blocks correspond to a group of coding coefficients in an identity matrix, and a size of the identity matrix is the same as that of the first coding coefficient matrix.
In some optional embodiments of the present application, the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first encoded packet;
and the coding coefficient of the second finite field is carried in the transmission layer of the first coding message.
In a sixth aspect, the present application provides a network apparatus, including:
the processing module is used for encoding the k source data blocks by using the second encoding coefficient matrix to generate k second encoding data blocks, the second encoding data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
the processing module is further configured to perform encoding processing on the k second encoded data blocks and the k source data blocks by using a third encoding coefficient matrix to generate g third encoded data blocks, where the third encoded data blocks correspond to a group of encoding coefficients in the third encoding coefficient matrix, and g is a positive integer;
the processing module is further configured to generate one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, where a second encoded message includes: the second coded message comprises one or more third coded data blocks and coding coefficients corresponding to the third coded coefficient matrix;
the second coding coefficient matrix comprises coding coefficients of a third finite field, the third coding coefficient matrix comprises coding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with nested structures, the order of the fourth finite field is higher than that of the third finite field, and the finite fields with nested structures satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and the transceiver module is used for transmitting one or more second coded messages.
In some optional embodiments of the present application, the second encoded packet further includes:
one or more second encoded data blocks, and a set of encoding coefficients in a second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more source data blocks, the source data blocks corresponding to a set of coding coefficients in an identity matrix, the size of the identity matrix being determined by the number of second coded data blocks and the number of source data blocks.
In some optional embodiments of the present application, the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the third finite field is alpha'n,kN is a positive integer;
the one or more second encoded data blocks include: c'nWherein, in the step (A),
Figure BDA0002634302600000111
the fourth finite field has a coding coefficient of βm,k+n
The one or more third encoded data blocks include: bmWherein, in the step (A),
Figure BDA0002634302600000112
m is a positive integer.
In some optional embodiments of the present application, the coding coefficient of the third finite field is carried in a transmission layer of the second encoded packet;
and the coding coefficient of the fourth finite field is carried in the network layer or the data link layer of the second coded message.
In some optional embodiments of the present application, the one or more second encoded packets further include a finite field order, where the finite field order includes a finite field order in which an encoding coefficient of the second encoded data block is located, a finite field order in which an encoding coefficient of the third encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In some optional embodiments of the present application, the second encoding coefficient matrix further includes: and the fifth finite field and the third finite field have a nested structure, wherein the fifth finite field and the third finite field satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent.
In a seventh aspect, the present application provides a network device, including:
the receiving and sending module is used for receiving one or more third coded messages, the third coded messages comprise g ' fourth coded data blocks and coding coefficients corresponding to the g ' fourth coded data blocks, and g ' is a positive integer;
the processing module is used for carrying out coding processing on g' fourth coding data blocks by using the fourth coding coefficient matrix to generate one or more fifth coding data blocks, and the fifth coding data blocks correspond to a group of coding coefficients in the fourth coding coefficient matrix;
the processing module is further configured to generate one or more re-encoding messages according to the one or more fifth encoding data blocks, where a re-encoding message includes the one or more fifth encoding data blocks and a group of encoding coefficients in a fourth encoding coefficient matrix corresponding to the one or more fifth encoding data blocks;
the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coding message have a nested structure, and the finite field with the nested structure satisfies the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and the transceiver module is also used for transmitting one or more recoding messages.
In some optional embodiments of the present application, the order of the finite field of the coding coefficients in the fourth coding coefficient matrix is equal to the lowest order of the finite field in the network in which the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
In some optional embodiments of the present application, the fourth encoded data block is Xi, i is greater than or equal to 1 and less than or equal to u, i is a positive integer, and u is a positive integer;
the fourth coding coefficient is gammau,vWherein v is a positive integer greater than 1;
the fifth coded data block is YvWherein, in the step (A),
Figure BDA0002634302600000121
wherein j is more than or equal to 1 and less than or equal to v.
In an eighth aspect, the present application provides a network apparatus, including:
the receiving and sending module is used for receiving one or more fourth coded messages, the fourth coded messages comprise t ' sixth coded data blocks and coding coefficients corresponding to the t ' sixth coded data blocks, and t ' is a positive integer;
the processing module is used for performing decoding operation on one or more fourth encoded messages in a low-order finite field and a high-order finite field by adopting a first decoding mode to generate k source data blocks, wherein k is a positive integer;
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
alternatively, the first and second electrodes may be,
the processing module is further configured to perform a decoding operation on one or more fourth encoded packets in a highest-order finite field of an encoding coefficient corresponding to the sixth encoded data block by using a second decoding manner, so as to generate k ″ source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block.
In some alternative embodiments of the present application,
the processing module is specifically used for performing first decoding operation on one or more fourth encoded messages in a low-order finite field;
and the processing module is specifically used for performing second decoding operation on the result obtained by the first decoding operation in a high-order finite field to generate k source data blocks.
In some optional embodiments of the present application, the processing module is specifically configured to determine, according to a coding coefficient corresponding to a sixth coding data block in one or more fourth coding messages, a coding coefficient of a low-order finite field and a coding coefficient of a high-order finite field;
the processing module is specifically used for forming a low-order domain coding coefficient matrix by the coding coefficients of the low-order finite domain;
the processing module is specifically used for forming a first decoding matrix and a second decoding matrix according to the low-order-domain coding coefficient matrix, wherein coding coefficients corresponding to the high-order finite field in the coding coefficients of the first decoding matrix form a first high-order-domain coding coefficient group, and the finite field of the first high-order-domain coding coefficient group is the finite field with the lowest order among all the high-order finite fields of the coding coefficients corresponding to the sixth coding data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving terminal;
the processing module is specifically used for carrying out decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, wherein the first decoding sub-matrix is a zero matrix, and the second decoding matrix is an identity matrix;
the processing module is specifically used for synchronously decoding the first decoding matrix to generate a third decoding sub-matrix and a fourth decoding sub-matrix when the second decoding matrix is subjected to decoding operation, wherein the row number of the third decoding sub-matrix is consistent with the row number of the first decoding sub-matrix, the row number of the fourth decoding sub-matrix is consistent with the row number of the second decoding sub-matrix, or the column number of the third decoding sub-matrix is consistent with the column number of the first decoding sub-matrix, and the column number of the fourth decoding sub-matrix is consistent with the column number of the second decoding sub-matrix;
and the processing module is specifically used for performing synchronous decoding operation on the sixth encoded data block to generate data to be decoded when the first decoding matrix performs decoding operation.
In some optional embodiments of the present application, the result obtained by the first decoding operation includes a third decoding submatrix, a fourth decoding submatrix, and data to be decoded,
the processing module is specifically used for determining a fifth decoding sub-matrix corresponding to the fourth decoding sub-matrix according to the fourth decoding sub-matrix, wherein the fifth decoding sub-matrix consists of coding coefficients of a high-order finite field;
the processing module is specifically configured to generate a sixth decoding submatrix according to the fourth decoding submatrix and the fifth decoding submatrix, where a vector in the sixth decoding submatrix is obtained by adding a group of coding coefficients of the fifth decoding submatrix and a group of coding coefficients of the fourth decoding submatrix in a finite field corresponding to the fifth decoding submatrix;
the processing module is specifically used for forming a fourth decoding matrix according to the third decoding submatrix and the sixth decoding submatrix;
the processing module is specifically used for carrying out decoding operation on the fourth decoding matrix to generate an identity matrix;
and the processing module is specifically configured to perform synchronous decoding operation on the data to be decoded when performing decoding operation on the fourth decoding matrix, so as to generate k source data blocks.
In some alternative embodiments of the present application,
the processing module is specifically used for forming a first decoding matrix, a second decoding matrix and a third decoding matrix according to the low-order-domain coding coefficient matrix, wherein coding coefficients corresponding to a high-order finite field in the third decoding matrix form a third high-order-domain coding coefficient group, the finite field of the third high-order-domain coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group and the second high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field corresponding to the third high-order-domain coding coefficient group is higher than the highest-order finite field order supported by the receiving end;
and the processing module is specifically used for carrying out decoding operation on the third decoding matrix to generate a zero matrix.
In some alternative embodiments of the present application,
for k source data blocks, when the following conditions are satisfied, the processing module is further configured to decode w fourth encoded packets, including:
Figure BDA0002634302600000141
wherein the content of the first and second substances,
Figure BDA0002634302600000142
is composed of
Figure BDA0002634302600000143
The matrix is a matrix of a plurality of matrices,
Figure BDA0002634302600000144
satisfy the requirement of
Figure BDA0002634302600000145
The third decoding matrix is
Figure BDA0002634302600000146
The high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of a high-order finite domain, and the low-order domain coding coefficient matrix is H, w is a positive integer.
In some alternative embodiments of the present application,
the processing module is specifically used for decoding the sixth encoded data block in the highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficient of the sixth encoded data block is decoded to obtain an identity matrix;
and the processing module is specifically configured to perform synchronous decoding operation on the sixth encoded data block to generate k ″ source data blocks when a matrix formed by the encoding coefficients of the sixth encoded data block is subjected to decoding operation.
In a ninth aspect, an embodiment of the present application provides a network device, where the network device may implement the functions performed by the sending end, the receiving end, and the intermediate node in the method according to the first, second, third, or fourth aspects. The network device comprises a processor, a memory, a receiver connected with the processor and a transmitter connected with the processor; the memory is used for storing program codes and transmitting the program codes to the processor; the processor is configured to drive the receiver and the transmitter according to instructions in the program code to perform the method according to the first, second, third, or fourth aspect; the receiver and the transmitter are respectively connected with the processor to execute the operations of the transmitting end, the receiving end and the intermediate node in the method of the above aspects. Specifically, the transmitter may perform an operation of transmitting, and the receiver may perform an operation of receiving. Optionally, the receiver and the transmitter may be a radio frequency circuit, and the radio frequency circuit implements receiving and sending messages through an antenna; the receiver and the transmitter may also be a communication interface, to which a processor is connected via a bus, through which the processor effects the reception or transmission of messages.
In a tenth aspect, an embodiment of the present application provides a network apparatus, where the network apparatus may include entities such as a network device, a terminal device, or a chip, and the network apparatus includes: a processor, a memory; the memory is used for storing instructions; the processor is configured to execute the instructions in the memory to cause the network device to perform the method according to any of the first, second, third, or fourth aspects.
In an eleventh aspect, embodiments of the present application provide a computer-readable storage medium storing one or more computer-executable instructions, which, when executed by a processor, perform any one of the possible implementations of the first, second, third, or fourth aspects as described above.
In a twelfth aspect, embodiments of the present application provide a computer program product (or computer program) storing one or more computer-executable instructions, where when the computer-executable instructions are executed by the processor, the processor executes any one of the foregoing implementation manners of the first aspect, the second aspect, the third aspect, or the fourth aspect.
In a thirteenth aspect, the present application provides a chip system comprising a processor for supporting a computer device to implement the functions recited in the above-mentioned aspects. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary for the computer device. The chip system may be formed by a chip, or may include a chip and other discrete devices.
In a fourteenth aspect, the present application provides a communication system comprising the network apparatus as in the fifth, sixth, seventh or eighth aspect above.
Drawings
Fig. 1a is a schematic view of an application scenario according to an embodiment of the present application;
fig. 1b is a schematic diagram of another application scenario related to the embodiment of the present application;
fig. 1c is a schematic diagram of another application scenario related to the embodiment of the present application;
fig. 1d is a schematic diagram of another application scenario related to the embodiment of the present application;
fig. 2 is a schematic hardware structure diagram of a network device according to an embodiment of the present application;
fig. 3a is a schematic diagram of a protocol stack structure according to an embodiment of the present application;
fig. 3b is a schematic diagram of another protocol stack structure proposed in the embodiment of the present application;
FIG. 4 is a schematic diagram of an embodiment of a finite field encoding or decoding method according to an embodiment of the present application;
fig. 5 is a schematic diagram of encoding of a transmitting end in an embodiment of the present application;
fig. 6 is a schematic encoding diagram of another transmitting end in the embodiment of the present application;
FIG. 7 is a schematic diagram of another finite field encoding or decoding method according to an embodiment of the present application;
fig. 8 is a schematic diagram of encoding at a transmitting end in an embodiment of the present application;
FIG. 9 is a diagram of yet another encoding scheme in an embodiment of the present application;
FIG. 10 is a diagram of yet another encoding scheme in an embodiment of the present application;
FIG. 11 is a diagram of yet another encoding scheme in an embodiment of the present application;
FIG. 12 is a schematic diagram of another finite field encoding or decoding method according to an embodiment of the present application;
FIG. 13 is a schematic illustration of a recoding scheme according to an embodiment of the present application;
FIG. 14 is a schematic diagram of another finite field encoding or decoding method according to an embodiment of the present application;
FIG. 15 is a schematic diagram of an embodiment of a decoding operation according to the present application;
FIG. 16 is a schematic diagram of an embodiment of a decoding operation in an embodiment of the present application;
FIG. 17 is a diagram of yet another decoding scheme in the present embodiment;
FIG. 18 is a diagram of yet another decoding scheme in the present embodiment;
FIG. 19 is a diagram illustrating yet another decoding scheme according to an embodiment of the present application;
FIG. 20a is a schematic diagram of another finite field encoding or decoding method according to an embodiment of the present application;
FIG. 20b is a decoding diagram according to an embodiment of the present application;
FIG. 20c is a diagram of yet another decoding scheme in the present embodiment;
FIG. 21 is a diagram illustrating an equivalent multiplication of nested domains according to an embodiment of the present application;
FIG. 22 is a diagram of an embodiment of a network device according to an embodiment of the present application;
FIG. 23 is a diagram of an embodiment of a network device according to an embodiment of the present application;
FIG. 24 is a diagram of an embodiment of a network device according to an embodiment of the present application;
FIG. 25 is a diagram of an embodiment of a network device in an embodiment of the present application;
fig. 26 is a schematic view of a processing apparatus according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides a finite field coding or decoding method, which uses a finite field with a nested structure to code under the scene that the computation power of a sending end, a receiving end and an intermediate node is inconsistent, thereby effectively reducing the computation complexity during decoding, improving the decoding speed and data throughput and ensuring the accuracy of decoding.
The terms "first," "second," and the like in the description and in the claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and are merely descriptive of the various embodiments of the application and how objects of the same nature can be distinguished. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The technical solutions in the embodiments of the present application will be clearly described below with reference to the drawings in the embodiments of the present application. In the description of the present application, "/" indicates an OR meaning, for example, A/B may indicate A or B; in the present application, "and/or" is only an association relationship describing an associated object, and means that there may be three relationships, for example, a and/or B, and may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the present application, "at least one item" means one or more items, and "a plurality of items" means two or more items. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or multiple.
First, some concepts related to embodiments of the present application are introduced:
1. finite field (finite field):
a finite field is a field that contains a finite number of elements. The finite field may also be referred to as a Galois Field (GF). Like other fields, a finite field is a set that is defined for performing addition, subtraction, multiplication, and division operations and satisfies certain rules. The number of elements of a finite field is called its order, which is usually a power of a prime number. The finite field must have a certain prime number E, so that it contains a prime field isomorphism Zp. if F is the finite field characterized by E, then the number of elements in F is Ed, d is a positive integer. The multiplicative group of GF (Ed) is thus a cyclic group of order (Ed-1). The finite fields are well known to those skilled in the art, and the detailed description may refer to the prior art and will not be described herein.
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the embodiments of the present application will be described in further detail with reference to the accompanying drawings.
The encoding or decoding method of the finite field provided by the application can be applied to various communication systems, for example, the encoding or decoding method can be an internet of things (IoT), a narrowband band internet of things (NB-IoT), a Long Term Evolution (LTE), a fifth generation (5G) communication system, a hybrid architecture of LTE and 5G, a 5G New Radio (NR) system, a new communication system appearing in future communication development, and the like. The 5G communication system of the present application may include at least one of a non-standalone (NSA) 5G communication system and a Standalone (SA) 5G communication system. The communication system may also be a Public Land Mobile Network (PLMN) network, a device-to-device (D2D) network, a machine-to-machine (M2M) network, or other networks.
An embodiment of the present application includes multiple application scenarios, for example, please refer to fig. 1a to 1b, where fig. 1a is a schematic view of an application scenario related to the embodiment of the present application, and fig. 1b is a schematic view of another application scenario related to the embodiment of the present application.
In fig. 1a, a sending end supports multiple finite fields with a nested structure, and in this embodiment of the present application, a finite field with a nested structure may also be referred to as a nested field. Illustratively, the nested domains supported by the sender include: GF ((2)2)d0)…GF((22)d)…GF((22)D) Wherein D is not less than 0 and not more than D0 and not more than D, D0 is an integer greater than or equal to zero, D is an integer greater than or equal to zero, and D is an integer greater than or equal to zero. D0, D and D satisfy, D divides D equally, D divides D0 equally. The transmitting end supports encoding in multiple nested domains. The transmitting end may also be referred to as a new type transmitting end. Optionally, the transmitter may be at GF ((2)2)d0)~GF((22)D) One or more nested fields are flexibly selected to encode the source data block.
The intermediate node supports a nested domain, and the nested domain supported by the intermediate node comprises: GF ((2)2)d0). The intermediate node supports recoding the received message in 1 nested domain. This intermediate node may also be referred to as a new type intermediate node.
The receiving end is in self-supported nested domain (for example: GF ((2))2)d) In) decoding the message. For example, high-speed minimum order finite field elimination operation can be performed to perform partial decoding, high order nested field coefficients are reduced, and finally the high order finite field is used for performing the rest nested field decoding, so that the decoding calculation speed is increased. The receiving end may also be referred to as a new receiving node.
On the basis of the application scenario shown in fig. 1a, please refer to fig. 1 b. The sending end can perform nested domain coding on the source data block in a plurality of nested domains according to different calculation forces of the intermediate node and the receiving end to generate a coded message.
The transmitting end transmits the coded message to the intermediate node, and the coded message is carried in the coded messageWith the coding coefficients. The intermediate nodes support a single nested domain. The computationally constrained intermediate node is at GF ((2)2)d0) And recoding the coded message. The intermediate node sends the recoding message to the receiving end.
After the receiving end receives the recoded message, the low-order nested domain (such as GF ((2) ()2)d0) And) performing nested domain decoding on the recoded message. Second, the receiver is in the supported high-order nested domain (e.g. GF ((2))2)d) And carrying out further nested domain decoding to obtain a source data block.
For example, please refer to fig. 1c to fig. 1d, where fig. 1c is a schematic view of another application scenario related to the embodiment of the present application, and fig. 1d is a schematic view of another application scenario related to the embodiment of the present application.
In order to adapt to existing legacy senders (devices), the sender supports a single finite field with a nested structure, as shown in fig. 1 c. Illustratively, the nested fields supported by the sender include GF ((2)2)D). The transmitting end supports encoding in a single nested domain. The sender may also be referred to as a legacy sender.
To implement distributed coding, the intermediate node supports a plurality of nested domains, illustratively, the nested domains supported by the intermediate node include: GF ((2)2)d0)···GF((22)D). The intermediate node can flexibly select 1 nested domain to recode the received message. Optionally, the intermediate node selects GF ((2)2)d0) And recoding the received message. Optionally, the intermediate node may also be at GF ((2)2)d0)~GF((22)D) One or more nested domains are flexibly selected to recode the received message.
This intermediate node may also be referred to as a new type intermediate node. The distributed coding has the advantages that the distributed coding is compatible with the traditional sending end equipment, the message transmission quantity between the sending end and the intermediate node can be reduced, and the network between the sending end and the intermediate node keeps low transmission load.
On the receiving endSelf-supporting nested domains (e.g.: GF ((2))2)d) In) decoding the message. For example, high-speed minimum order finite field elimination operation can be performed to perform partial decoding, high order nested field coefficients are reduced, and finally the high order finite field is used for performing the rest nested field decoding, so that the decoding calculation speed is increased. The receiving end may also be referred to as a new receiving node.
On the basis of the application scenario shown in fig. 1c, please refer to fig. 1 d. In fig. 1d, the sending end supports a single nested domain, and the sending end may perform nested domain coding on the source data block in the single nested domain to generate the coded packet. And the transmitting end transmits the coded message to the intermediate node, wherein the coded message carries the coding coefficient.
The intermediate node supports a plurality of nested domains, and the intermediate node can select one or more nested domains to recode the coded message according to different calculation power of the receiving end. The intermediate node sends the recoding message to the receiving end.
After receiving the recoded message, the receiving end firstly carries out nested domain decoding on the recoded message in a low-order nested domain supported by the receiving end. Second, the receiver is in the supported high-order nested domain (e.g. GF ((2))2)2) And carrying out further nested domain decoding to obtain a source data block.
It should be noted that fig. 1a to fig. 1d are only exemplary illustrations, and please refer to the following embodiments for specific implementation, which are not described herein again.
The following is proposed for the embodiments of the present application: finite fields of nested structure (also called nested fields), detailed description:
with the first finite field being GF (E)d) And, the second finite field is GF (E)D) For example, E is a prime number, D is a positive integer, and D is a positive integer. When the first finite field and the second finite field are finite fields with nested structures, D and D satisfy the following relationship: d ═ q × D, q is a positive integer greater than 1, D is also called a factor for D, written as D | D. The second finite field is the maximum field. It should be noted that, for convenience of description, the finite field of the nested structure is also referred to as a nested field in the embodiments of the present application.
Finite fields with nested structure can also be represented as: the two or more finite fields satisfy the following relationships: the orders have a multiple relation, and the characteristic numbers are consistent.
It should be noted that the first finite field may include one or more finite fields, and in this case, the relationship between the one or more finite fields included in the first finite field and the second finite field is also satisfied.
The finite field with nested structure is the mathematical basis for ensuring the encoding and decoding across the finite field to be feasible. Finite field GF (E)D) And GF (E)d) Not only can be regarded as D-times and D-times expansion based on the finite field gf (e); GF (E)D) May also be regarded as GF (E)d) Q times of extension of (GF (E)D) Referred to as GF (E)d) Of (c) extension field, or, GF (E)D) Referred to as GF (E)d) Q expansion domains.
For example: for finite field GF (2) when E ═ 2, D ═ 4, and D ═ 24) Not only 4-order extension field of GF (2), but also GF (2)2) 2 times extension field of (1), written as GF (4)2) Or GF ((2)2)2) Or
Figure BDA0002634302600000181
More generally GF (2)8) Not only the 8-th order extension field of GF (2) but also GF (4)4) May also be regarded as GF (16)2) It can also be considered as GF (((2)2)2)2) Or
Figure BDA0002634302600000182
To define a finite field GF (E)d) The q-order extended field algorithm of (1) requires selection of a GF-based (E)d) The above q-th order is an approximate polynomial, and the following describes a definition method between nested domains.
For example: x is the number of4+ x +1 is a 4-degree order polynomial of GF (2) due to GF (2)4) May also be viewed as GF (4)2) Polynomial x4+ x +1 at GF (2)2) Upper can be defined as (x)2+x+α)(x2+x+α2) Wherein α ∈ GF (2)2) Satisfies alpha2+ α +1 ═ 0, α is GF (2)2) Generator, GF (2)2)={0,1,α,α2}. Thus, GF (4)2) Can be determined by a polynomial x based on degree 2 on GF (4)2+ x + alpha or x2+x+α2To further illustrate. Selection of x2+ x + α is based on a 2 nd order polynomial over GF (4), and β is the extension field GF (4)2) Is a generator of (1) and satisfies beta2+ β + α is 0, substituting α2Beta is calculated from + alpha +1 ═ 04+ β +1 ═ 0. The table 1 can be looked up to obtain α ═ β2+β=β5(from another perspective, α is a GF (4) generator, and must have α 31 is ═ 1; beta is GF (4)2) The generator must have beta15Can also get alpha ═ beta ═ 15). Specifically, table 1 shows: extended field GF (2)4) At both approximate polynomials x4Polynomial representation under + x +1, power representation, and correspondence between the polynomial binary coefficients represented in binary and the decimal polynomial binary coefficients (0-15).
Figure BDA0002634302600000191
TABLE 1
Then the extension field GF (4)2) Namely, it is
Figure BDA0002634302600000192
Can be written by definition as a β + b in the form of table 2 below, where a, b ∈ GF (4) {0, 1, α2}. As can be seen from the above description, all the extended field elements are available in nested field form without any overhead. Specifically, table 2 shows: extended field
Figure BDA0002634302600000193
Element writing under a beta + b form, where a, b ═ 0, 1, alpha2And } and corresponding relations among the elements.
Figure BDA0002634302600000194
TABLE 2
Finite fields in the form of nested fields have a nesting relationship not only over elements (i.e., GF (E)d) All elements in (A) are contained in GF (E)D) In) and also has a nested relationship in addition and multiplication operations of the domain definition, i.e. GF (E)d) All binary algorithms are also included in GF (E)D) In other words: GF (E)D) Includes GF (E) in the multiplication tabled) Multiplication table of, GF (E)D) Includes GF (E)d) The addition table of (2).
Exemplary, as in tables 3a and 3 b; tables 4a and 4 b. Wherein, Table 3a shows GF (2)2) The additive relationship between the elements in (A), and GF in Table 3b ((2)2)2) The addition operation relationship between the middle elements; table 4a shows GF (2)2) Multiplication relation between elements in (1), and Table 4b shows GF ((2)2)2) The multiplication relation between the middle elements. In other words: table 3a shows the additive relationship between elements in GF (4), and Table 3b shows GF (4)2) The addition operation relationship between the middle elements; table 4a shows the multiplication relationship between elements in GF (4), and Table 4b shows GF (4)2) The multiplication relation between the middle elements.
In the embodiment of the present application, the multiplication table and the addition table are also referred to as a binary operation table for convenience of description.
GF(22) 0 1 α α 2
0 0 1 α α 2
1 1 0 α2 α
α α α2 0 1
α2 α2 α 1 0
TABLE 3a
Figure BDA0002634302600000201
TABLE 3b
GF(22) 0 1 α α 2
0 0 0 0 0
1 0 1 α α2
α 0 α α 2 1
α 2 0 α 2 1 α
TABLE 4a
Figure BDA0002634302600000211
TABLE 4b
Due to the extension of the field element
Figure BDA0002634302600000212
Can be written as a β + b, where a, b ═ 0, 1, α2Then 16 x 16 binary operation table can be divided into 4 x 4 blocks according to the difference between the values of a and b, then the top left block (both the values of a of two elements are 0) is exactly GF (2) shown in table 3a and table 4a2) The addition and multiplication relations of the 4 elements.
For convenience of description, the embodiments of the present application distinguish different finite fields according to their orders, for example, a prime number is 2, and an element number (order) is 21May be referred to as GF (2)1) Number of elements (order) is 22May be referred to as GF (2)2) Number of elements (order) is 2nMay be referred to as GF (2)n) And so on. It should be understood that the prime number is only illustrated as 2, and the value of the prime number is not particularly limited.
The communication system applied in the embodiment of the present application may include one or more transmitting ends and one or more receiving ends, and the communication system may further include one or more intermediate nodes. Wherein, one transmitting end can transmit data to one or more receiving ends. Multiple transmitting ends may also transmit data for one receiving end at the same time. One transmitting end can also transmit data for a plurality of receiving ends at the same time. The transmitting end may transmit through one or intermediate nodes when transmitting data to the receiving end. In the embodiment of the present application, the number and the connection relationship of the sending end, the intermediate node, and the receiving end in the communication system are not specifically limited. For example, the sending end may be a network device, a terminal device, another device for sending data, or an encoder. The receiving end may be a network device, or a terminal device, or may also be other devices that receive data, or may also be a decoder. The intermediate node may be a network device, for example: the transmission device such as the routing node, the forwarding node, the relay node, etc., or may be an encoder, or may be a terminal device.
The terminal device referred to in the embodiments of the present application is an entity for receiving or transmitting signals at a user side. The terminal device may be a device providing voice, data connectivity to a user, e.g. a handheld device with wireless connectivity, a car mounted device, etc. The terminal device may also be other processing devices connected to the wireless modem. A terminal device may communicate with one or more core networks through a Radio Access Network (RAN). The terminal device may also be referred to as a wireless terminal, a subscriber unit (subscriber unit), a subscriber station (subscriber station), a mobile station (mobile), a remote station (remote station), an access point (access point), a remote terminal (remote terminal), an access terminal (access terminal), a user terminal (user terminal), a user agent (user agent), a user device (user device), or a user equipment (user equipment), etc. The terminal equipment may be mobile terminals such as mobile telephones (or so-called "cellular" telephones) and computers with mobile terminals, e.g. portable, pocket, hand-held, computer-included or car-mounted mobile devices, which exchange language, data with the radio access network. For example, the terminal device may be a Personal Communication Service (PCS) phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), or the like. Common terminal devices include, for example: the mobile terminal includes a mobile phone, a tablet computer, a notebook computer, a handheld computer, a Mobile Internet Device (MID), and a wearable device, such as a smart watch, a smart bracelet, a pedometer, and the like, but the embodiment of the present application is not limited thereto. The terminal device in this embodiment may also be a terminal device appearing in a Public Land Mobile Network (PLMN) in future evolution, which is not limited in this embodiment of the present application.
In addition, in the embodiment of the present application, the terminal device may also be a terminal device in an Internet of Things (IoT) system, the IoT is an important component of future information technology development, and the main technical feature of the IoT is to connect an object with a network through a communication technology, so as to implement an intelligent network with interconnected human-computer and interconnected objects. In the embodiment of the present application, the IoT technology may achieve massive connection, deep coverage, and power saving for the terminal through, for example, a Narrowband (NB) technology.
In addition, in this embodiment of the application, the terminal device may further include sensors such as an intelligent printer, a train detector, and a gas station, and the main functions include collecting data (part of the terminal device), receiving control information and downlink data of the network device, and sending electromagnetic waves to transmit uplink data to the network device.
The network device referred to in the embodiments of the present application is an entity for transmitting or receiving signals on the network side. The network device in the embodiment of the present application may be a device in a wireless network, for example, a RAN node that accesses a terminal to the wireless network. For example, the network device may be an evolved Node B (eNB or e-NodeB) in LTE, a new radio controller (NR controller), a enode B (gNB) in 5G system, a centralized network element (CU), a new radio base station, a radio remote module, a micro base station, a relay (relay), a distributed network element (DU), a home base station, a Transmission Reception Point (TRP), a Transmission Point (TP), or any other radio access device, but the embodiment of the present invention is not limited thereto. The network device may cover 1 or more cells.
The network architecture and the service scenario described in the embodiment of the present application are for more clearly illustrating the technical solution of the embodiment of the present application, and do not form a limitation on the technical solution provided in the embodiment of the present application, and as a person of ordinary skill in the art knows that along with the evolution of the network architecture and the appearance of a new service scenario, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
Network coding is mainly used in multicast networks, where coding is performed at intermediate nodes to increase the information transmission rate. In network coding, a sending end, a receiving end and an intermediate node need to be kept consistent and carry out coding and decoding in the same finite field (GF), for example, if the sending end selects to carry out coding and decoding in an order of 28The finite field of (2) is encoded, all intermediate nodes participating in network encoding are required to be in order of 28All receivers need to re-encode in order of 28Decoding the finite field; therefore, all network node devices participating in network coding need to support coding and decoding parameters configured to be consistent with a sending end and a receiving end for each stream or each application.
However, the sending end, the receiving end and the intermediate node need to keep consistent and carry out encoding and decoding in the same finite field, but the intermediate node is generally limited in encoding computation and becomes a bottleneck of data throughput.
Secondly, the terminal computing power is very different, which may result in multicast or unicast applications not being able to be developed. For example, low-power IoT devices with limited computing power, home devices such as televisions, etc. can only use limited domains with smaller orders, such as order 21The limited domain of (2) is coded and decoded to reduce the overhead and the calculation cost; devices with high computing power such as servers, computers or smart phones can process GF (2)8) Encoding and decoding of the above finite field. Therefore, when considering multicast applications, the sender chooses to use, for example, GF (2)8) The finite field of (2) is required to be at GF (2)8) The computing power of receiving equipment such as a computer or a smart phone can meet the requirement of smooth decoding, but equipment such as a television under the same multicast tree cannot decode due to insufficient computing power, so that multicast application cannot be developed. When considering unicast applications, the intermediate node would choose to be in the low order finite field, such as GF (2), in order to eliminate the data throughput bottleneck caused by the limited coding power1) The coding and decoding are carried out inside, and the sending end and the receiving end are in the same finite field (namely GF (2)1) Carry out coding becauseGF(21) The poor performance of coding and decoding can cause that the communication between the sending end and the receiving end can not meet the quality of service (QoS) requirement of the upper layer application.
In addition, the embodiment of the application can also be applied to other future-oriented communication technologies, such as 6G. The network architecture and the service scenario described in this application are for more clearly illustrating the technical solution of this application, and do not constitute a limitation to the technical solution provided in this application, and it can be known by those skilled in the art that the technical solution provided in this application is also applicable to similar technical problems along with the evolution of the network architecture and the appearance of new service scenarios.
Fig. 2 is a schematic diagram of a hardware structure of a network device in the embodiment of the present application. The network device may be a possible implementation manner of a sending end, a receiving end, or an intermediate node in the embodiment of the present application. As shown in fig. 2, the network device includes at least a processor 204, a memory 203, and a transceiver 202, the memory 203 further for storing instructions 2031 and data 2032. Optionally, the network device may further include an antenna 206, an I/O (Input/Output) interface 210, and a bus 212. The transceiver 202 further includes a transmitter 2021 and a receiver 2022. Further, the processor 204, the transceiver 202, the memory 203 and the I/O interface 210 are communicatively coupled to each other via a bus 212, and the antenna 206 is coupled to the transceiver 202.
The Processor 204 may be a general-purpose Processor, such as but not limited to a Central Processing Unit (CPU), or a special-purpose Processor, such as but not limited to a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), and so on. Further, the processor 204 may also be a combination of multiple processors. In particular, in the technical solutions provided in the embodiments of the present application, the processor 204 may be configured to execute, in the following method embodiments, relevant steps of the communication method. The processor 204 may be a processor specially designed for performing the above steps and/or operations, or may be a processor that performs the above steps and/or operations by reading and executing the instructions 2031 stored in the memory 203, and the processor 204 may need to use the data 2032 in the process of performing the above steps and/or operations.
The transceiver 202 includes a transmitter 2021 and a receiver 2022, and in an alternative implementation, the transmitter 2021 is configured to transmit signals via the antenna 206. Receiver 2022 is configured to receive signals via at least one of antennas 206. In particular, in the technical solution provided in this embodiment, the transmitter 2021 may be specifically configured to be executed by at least one antenna in the antennas 206, for example, when the communication method in the subsequent method embodiment is applied to a transmitting end, a receiving end, or an intermediate node, a transceiver module or a transmitting module in the transmitting end, the receiving end, or the intermediate node performs an operation.
In the embodiment of the present application, the transceiver 202 is used to support the network device to perform the receiving function and the transmitting function as described above. A processor having a processing function is considered as the processor 204. The receiver 2022 may also be referred to as a receiver, an input port, a receiving circuit, etc., and the transmitter 2021 may be referred to as a transmitter, a transmitting circuit, etc.
The processor 204 is operable to execute the instructions stored in the memory 203 to control the message (or message) received by the transceiver 202 and/or the message to be sent, so as to implement the functions of the network device in the method embodiments of the present application. As an implementation, the function of the transceiver 202 may be realized by a transceiver circuit or a dedicated chip for transceiving. In the embodiment of the present application, a message (or message) received by the transceiver 202 may be understood as an input message (or message) of the transceiver 202, and a message (or message) transmitted by the transceiver 202 may be understood as an output message (or message) of the transceiver 202.
The Memory 203 may be various types of storage media, such as Random Access Memory (RAM), Read Only Memory (ROM), Non-Volatile RAM (NVRAM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically Erasable PROM (EEPROM), flash Memory, optical Memory, and registers. The memory 203 is specifically configured to store instructions 2031 and data 2032, and the processor 204 may execute the steps and/or operations in the embodiment of the method of the present application by reading and executing the instructions 2031 stored in the memory 203, where the data 2032 may be needed in the process of executing the operations and/or steps in the embodiment of the method of the present application.
Optionally, the network apparatus may further include an I/O interface 210, and the I/O interface 210 is configured to receive instructions and/or data from a peripheral device and output instructions and/or data to the peripheral device.
The method portion of the embodiments of the present application is described below. First, a protocol stack proposed in the embodiment of the present application is introduced. The coding coefficients of the nested domain provided by the embodiment of the application can be borne on different layers of a protocol stack in a sending end, an intermediate node or a receiving end.
In an alternative implementation manner, please refer to fig. 3a, where fig. 3a is a schematic diagram of a protocol stack structure according to an embodiment of the present application. In the system architecture applicable to fig. 3a, the transmitting end supports encoding of a finite field with a higher order (a high-order nested field) and a finite field with a lower order (a low-order nested field), the intermediate node supports re-encoding of a finite field with a lower order (a low-order nested field), and the receiving end supports decoding of a finite field with a higher order (a high-order nested field) and a finite field with a lower order (a low-order nested field). The order of the finite field with higher order (high-order nested field) is higher than that of the finite field with lower order (low-order nested field).
In a sending end, a coding coefficient of a finite field with a higher order is loaded in a transport layer, and the sending end uses the coding coefficient of the finite field with the higher order to code data of the transport layer; the coding coefficient of the finite field with a lower order is loaded in a network (network) layer (and/or a data link (data link) layer), and the transmitting end uses the coding coefficient of the finite field with a lower order to code data of the network layer (and/or the data link layer). Illustratively, the network layer includes an Internet Protocol (Internet Protocol) layer, and the transport layer includes a Transmission Control Protocol (TCP) layer.
The intermediate node (e.g., intermediate node 1. intermediate node n in the figure) re-encodes the data of the network layer (and/or the data link layer) by using the encoding coefficients of the finite field with a lower order. The coding coefficients of the lower order finite field used by the intermediate node are carried in the network layer (and/or data link layer). Optionally, a part or all of the intermediate nodes may re-encode the packet from the sending end by using a coding coefficient of a finite field with a lower order; the message from the sending end may also be directly forwarded to the next-hop intermediate node or the receiving end without re-encoding the message from the sending end.
The receiving end decodes the data of the transmission layer by using the coding coefficient of the finite field with higher order; and the receiving end decodes the data of the network layer (and/or the data link layer) by using the coding coefficient of the finite field with a lower order.
In this embodiment, the reliability of the TCP from the sending end to the receiving end is not damaged by the protocol stack structure.
In another alternative implementation, please refer to fig. 3b, where fig. 3b is a schematic diagram of another protocol stack structure provided in this embodiment of the present application. In the system architecture applicable to fig. 3b, the transmitting end supports encoding of the finite field (high-order nested field) with a higher order, the intermediate node supports re-encoding of the finite field (low-order nested field) with a lower order, and the receiving end supports decoding of the finite field (high-order nested field) with a higher order and the finite field (low-order nested field) with a lower order.
In a transmitting end, the coding coefficients of the finite field with higher order are carried in a transport layer, and the transmitting end uses the coding coefficients of the finite field with higher order to code data of the transport layer. Illustratively, the transport layer includes a Transmission Control Protocol (TCP) layer.
The intermediate node (e.g., intermediate node 1. intermediate node n in the figure) re-encodes the data of the network layer (and/or the data link layer) by using the encoding coefficients of the finite field with a lower order. The coding coefficients of the lower order finite field used by the intermediate node are carried in the network layer (and/or data link layer). Illustratively, the network layer includes an Internet protocol (Internet protocol) layer. Optionally, a part or all of the intermediate nodes may re-encode the packet from the sending end by using a coding coefficient of a finite field with a lower order; the message from the sending end may also be directly forwarded to the next-hop intermediate node or the receiving end without re-encoding the message from the sending end.
The receiving end decodes the data of the transmission layer by using the coding coefficient of the finite field with higher order; and the receiving end decodes the data of the network layer (and/or the data link layer) by using the coding coefficient of the finite field with a lower order.
In this embodiment, distributed encoding is used, so that the method is compatible with existing network devices (transmitting terminals). The message transmission quantity between the sending end and the intermediate node is reduced, and the transmission load of the network between the sending end and the intermediate node is reduced.
Next, the present application provides a finite field encoding or decoding method, which can be applied to the foregoing fig. 1a-1 d. In the communication system, an intermediate node may exist between the sending end and the receiving end to recode the message sent by the sending end, or the sending end and the receiving end may not have the intermediate node; or an intermediate node exists between the sending end and the receiving end, but the intermediate node does not perform recoding, and the application is not particularly limited. The methods of the transmission end side, the intermediate node side, and the reception end side are described below, respectively.
Referring to fig. 4, fig. 4 is a schematic diagram of an embodiment of a finite field coding method according to an embodiment of the present application. The encoding method of the finite field is applied to a transmitting end and comprises the following steps:
401. the transmitting end uses the first coding coefficient matrix to perform coding processing on the k source data blocks to generate one or more first coded data blocks.
In this embodiment, the sending end uses the first coding coefficient matrix to perform coding processing on k source data blocks in one group (Generation) to obtain k first coded data blocks. The first encoding coefficient matrix comprises encoding coefficients of a first finite field and encoding coefficients of a second finite field, and k is a positive integer. The first finite field and the second finite field are finite fields with nested structures, the order of the second finite field is higher than that of the first finite field, and the finite fields with nested structures satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent.
Specifically, the first finite field and the second finite field are finite fields with a nested structure, wherein the first finite field is GF (E)d) The second finite field is GF (E)D) Wherein E is a prime number, D is a positive integer, D ═ q × D, and q is a positive integer greater than 1.
The first finite field and the second finite field may include a plurality of finite fields, and the first encoding coefficient matrix includes 2 or more finite fields having a nested structure.
It should be noted that the coding coefficient matrix (e.g., the first coding coefficient matrix, the second coding coefficient matrix, etc.) referred to in the embodiments of the present application may include multiple sets of coding coefficients, where a row of elements of the coding coefficient matrix is a set of coding coefficients, or a column of elements of the coding coefficient matrix is a set of coding coefficients. When multiplying the plurality of data blocks with the coding coefficient matrix, the plurality of data blocks may be multiplied with each group of coding coefficients, for example, if a row of elements of the coding coefficient matrix is a group of coding coefficients, when encoding k source data blocks and the first coding coefficient matrix, each row of elements of the first coding coefficient matrix may be multiplied with k source data blocks, respectively. If a column of elements of the coding coefficient matrix is a group of coding coefficients, when the k source data blocks and the first coding coefficient matrix are coded, each column of elements of the first coding coefficient matrix may be multiplied by the k source data blocks respectively. For convenience of description, a group of coding coefficients corresponding to a row of elements of the coding coefficient matrix is described as an example. It should be understood that the logic for the sending end to encode a source data block when one column of the coding coefficient matrix is a set of coding coefficients is similar to the logic for the sending end to encode a source data block when one row of the coding coefficient matrix is a set of coding coefficients.
Specifically, as shown in fig. 5, fig. 5 is a schematic diagram of encoding of a transmitting end in the embodiment of the present application. Suppose a group contains k blocks of source data, pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k. The sending end is according to p1~pkGenerating one or more first coded data blocks cn={c1~cnN is a positive integer. Wherein, c1Is p1~pkUnder GF (E)d) And GF (E)D) A first coded data block obtained by coding in finite field, i.e. with GF (E) at the transmitting endd) And GF (E)D) Coding coefficient alpha in finite field1,1…α1,kTo p1~pkCoding to obtain c1Wherein c is1The following formula can be satisfied:
Figure BDA0002634302600000261
wherein alpha is1,1...α1,kIs GF (E)d) And GF (E)D) Coding coefficients in a finite field.
cnIs p1~pkUnder GF (E)d) And GF (E)D) The first coded data block obtained by coding in finite field, i.e. GF (E) is adopted by the sending endd) And GF (E)D) Coding coefficient alpha in finite fieldn,1...αn,kTo p1~pkCoding to obtain cnWherein c isnThe following formula can be satisfied:
Figure BDA0002634302600000262
wherein alpha isn,1...αn,kIs GF (E)d) And GF (E)D) Coding coefficients in a finite field.
For example, as shown in fig. 6, fig. 6 is a schematic coding diagram of another transmitting end in this embodiment of the present application. Suppose a group contains k blocks of source data pjWhere j is 1, 2. The set of data is represented by a matrix P written as: p ═ P1 p2 ... pk]T. Defining dimensionsA first matrix of coding coefficients of degree (k + n) × k: g ═ Ik A1 ... AD]T. Wherein, the matrix IkIs a k × k unit matrix, the unit matrix is a matrix with diagonal elements of 1 and the remaining elements of 0. Matrix AdIs based on a first finite field GF (E)d) And the second finite field GF (E)D) R of the coding coefficient of (1)dX k matrix, D is more than or equal to 1 and less than or equal to D, order
Figure BDA0002634302600000271
The transmitting end obtains a plurality of first coded data blocks by G left multiplication P, and writes c1...cn
In another alternative implementation, the first coding coefficient matrix may not include the matrix IkI.e. the first matrix of coding coefficients comprises only matrix ad. Specifically, the first 4 rows of coding coefficients in the first coding coefficient matrix shown in fig. 6 may not be the same as p1...p4Are multiplied but are sent p1~p4Carrying the corresponding coding coefficient, e.g. in transmitting p1Carrying the 1 st row coding coefficient in the first coding coefficient matrix when transmitting p2And carries the 2 nd row of coded coefficients in the first matrix of coded coefficients, and so on.
As shown in fig. 6, for example, k is 4, and n is 4, the first coding coefficient matrix includes:
A1 T=[α1,1 α1,2 α1,3 α1,4];
A2 T=[α2,1 α2,2 α2,3 α2,4];
A3 T=[α3,1 α3,2 α3,3 α3,4];
A4 T=[α4,1 α4,2 α4,3 α4,4]。
d is more than or equal to 1 and less than or equal to D, and D is a positive integer. The specific encoding is as follows:
5 th action of first coding coefficient matrix
Figure BDA0002634302600000272
Finite field set of coding coefficients alpha1,1...α1,4H, the 5 th row encoding coefficient in the first encoding coefficient matrix and p1~p4Multiplying to obtain c1. Thus, c1The corresponding set of coding coefficients is { alpha }1,1...α1,4}。
6 th action of first coding coefficient matrix
Figure BDA0002634302600000273
Finite field set of coding coefficients alpha2,1...α2,4H, the 6 th row encoding coefficient in the first encoding coefficient matrix and p1~p4Multiplying to obtain c2. Thus, c2The corresponding set of coding coefficients is { alpha }2,1...α2,4}。
Behavior 7 of the first encoding coefficient matrix
Figure BDA0002634302600000274
Finite field set of coding coefficients alpha3,1...α3,4H, the 7 th row encoding coefficient in the first encoding coefficient matrix and p1~p4Multiplying to obtain c3. Thus, c3The corresponding set of coding coefficients is { alpha }3,1…α3,4}。
First coding coefficient matrix action 8
Figure BDA0002634302600000275
Finite field set of coding coefficients alpha4,1...α4,4H, the 8 th row encoding coefficient in the first encoding coefficient matrix and p1~p4Multiplying to obtain c4. Thus, c4The corresponding set of coding coefficients is { alpha }4,1…α4,4}。
In another alternative implementation, distributed coding may be used, specifically: the transmitting end uses the coding coefficient of the first finite field to code the k source data blocks to generate one or more coded data blocks. And the transmitting end transmits the coded message carrying the coded data block to the intermediate node, and the intermediate node uses the coding coefficient of the second finite field to code the coded message.
Or, the sending end uses the coding coefficient of the second finite field to perform coding processing on the k source data blocks, and generates one or more coded data blocks. And the transmitting end transmits the coded message carrying the coded data block to the intermediate node, and the intermediate node uses the coding coefficient of the first finite field to code the coded message.
402. The sending end generates one or more first coded messages.
In this embodiment, the sending end generates one or more first encoded messages according to the k first encoded data blocks and the first encoding coefficient matrix. The first encoded packet includes one or more first encoded data blocks and a set of encoding coefficients in a first encoding coefficient matrix corresponding to the one or more first encoded data blocks.
In an optional implementation manner, the first encoded packet further includes one or more source data blocks, where the source data blocks correspond to a group of encoding coefficients in an identity matrix, and a size of the identity matrix is the same as that of the first encoding coefficient matrix.
Illustratively, as shown in fig. 6, the first encoded packet sent by the sending end includes p1~p4And c1~c4And at sending p1Carries the 1 st row of coding coefficients {1000} in the first coding coefficient matrix, and transmits p2Carries the 2 nd row encoding coefficient {0100} in the first encoding coefficient matrix, and transmits p3Carries the 3 rd row coding coefficient {0010} in the first coding coefficient matrix when transmitting p4Carrying the 4 th row coding coefficient {0001} in the first coding coefficient matrix when transmitting c1Carries the 5 th row coding coefficient { alpha ] in the first coding coefficient matrix1,1...α1,4At transmission c2Carries the 6 th row coding coefficient { alpha ] in the first coding coefficient matrix2,1...α2,4At transmission c3Carries the 7 th row coding coefficient { alpha ] in the first coding coefficient matrix3,1…α3,4At transmission c4Carries the 8 th row coding coefficient [ alpha ] in the first coding coefficient matrix4,1...α4,4}。
In an alternative implementation, a first encoded packet carries a first encoded data block (or a source data block).
In another alternative implementation, a first encoded packet carries a plurality of first encoded data blocks (and/or one or more source data blocks). And is not particularly limited herein.
Optionally, the one or more first encoded packets further include a finite field order, where the finite field order corresponds to the first encoded data block and/or the source data block, and the finite field order is a finite field order where a group of encoding coefficients in the first encoding coefficient matrix corresponding to the first encoded data block is located, and/or a finite field order where an encoding coefficient of the source data block is located. The number of the finite field order may be carried after the first encoded data block (as shown in fig. 6), or the number of the finite field order may be carried before the first encoded data block (as shown in fig. 6, "header"), which is not limited herein.
Illustratively, if the finite field is GF (E)2) The order of the finite field may be 2. The order of the finite field is used to indicate the order of the finite field corresponding to the first encoded data block.
For example, the encoding coefficient (e.g., d is less than or equal to 2) of the finite field with a lower order is carried in an Internet Protocol (IP) header or an Ethernet (Ethernet) frame header, and may be implemented by setting an Internet Protocol version6 (IPv 6) extension header, an IP or an ETH extension field, for example; the coding coefficient of the finite field with higher order (e.g. d is greater than 2) is carried in the TCP header, for example, by setting the TCP option.
In an optional implementation manner, one or more first coding coefficient messages generated by the sending end carry a source data block. The data block carried by the one or more first coding coefficient messages may be represented as: { p1…pk}∪{c1…cn}. The first coding coefficient message may also be referred to as a system code message.
In another optional implementation manner, one or more first coding coefficient messages generated by the transmitting end do not carry a source data block. The data block carried by the one or more first coding coefficient messages may be represented as: { c1...cn}. The first coding coefficient message may also be referred to as a non-systematic code message.
403. The sending end sends one or more first coded messages.
In this embodiment of the present application, a sending end encodes a source data block in a plurality of finite fields with nested structures, and a receiving end can decode the packet in the finite fields with nested structures. Due to the finite field with the nested structure, elements and algorithms of the finite field with higher order comprise elements and operations of the finite field with lower order. Therefore, firstly, the receiving end can decode the encoded data of the finite field with higher order in the finite field with lower order according to self calculation and application requirements, and secondly, continuously decode the previous decoding result in the finite field with higher order. The method effectively reduces the computational complexity, improves the decoding speed and the data throughput, and ensures the accuracy of decoding.
The above finite field coding method can also be used reversely as a decoding method, that is, a mode in which the coding end and the decoding end are implemented as opposite ends.
The sending end performs coding processing on the source data block, and various different implementation modes exist. Referring to fig. 7, fig. 7 is a schematic diagram of another finite field encoding method according to an embodiment of the present application. The encoding method of the finite field is applied to a transmitting end and comprises the following steps:
701. and the sending end uses the second coding coefficient matrix to code the k source data blocks to generate one or more second coded data blocks.
In this embodiment, the sending end uses the second coding coefficient matrix to perform coding processing on k source data blocks in one group (Generation) to obtain k second coded data blocks, where the second coded data blocks are obtainedThe code data block corresponds to a group of coding coefficients in a second coding coefficient matrix, wherein the second coding coefficient matrix at least comprises coding coefficients of a third finite field, and k is a positive integer. The third finite field is GF (E)D1) E is a prime number, and D1 is a positive integer.
Specifically, as shown in fig. 8, fig. 8 is a schematic diagram of encoding of a transmitting end in the embodiment of the present application. Suppose a group contains k blocks of source data, pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k. The transmitting end is according to the second coding matrix G and the source data P { P }1~pkH, generating one or more second coded data blocks c'n={c’1~c’nN is a positive integer. Wherein, c'1Is p1~pkUnder GF (E)D1) A second coded data block obtained by coding in finite field, i.e. with GF (E) at the transmitting endD1) Coding coefficient alpha 'in finite field'1,1...α′1,kTo p1~pkCoding to obtain c'1Wherein, c'1The following formula can be satisfied:
Figure BDA0002634302600000291
wherein, alpha'1,1...α′1,kIs GF (E)D1) Coding coefficients in a finite field.
c’nIs p1~pkUnder GF (E)D1) A second coded data block obtained by coding in the finite field, i.e. with GF (E) at the transmitting endD1) Coding coefficient alpha 'in finite field'1,1...α′1,kTo p1~pkCoding to obtain c'nWherein, c'nThe following formula can be satisfied:
Figure BDA0002634302600000292
wherein, alpha'n,1…α′n,kIs GF (E)D1) Coding coefficients in a finite field.
Let 1. ltoreq. D1. ltoreq.D 1, D1 be a positive integer. The specific encoding is as follows:
second coding coefficient matrix behavior 5
Figure BDA0002634302600000293
Set of coding coefficients of finite field alpha'1,1...α′1,4The 5 th row encoding coefficient and p in the second encoding coefficient matrix1~p4Are multiplied to obtain c'1. Thus c'1The corresponding set of coding coefficients is alpha'1,1...α′1,4
6 th action of second coding coefficient matrix
Figure BDA0002634302600000294
Set of coding coefficients of finite field alpha'2,1...α′2,4The 6 th row encoding coefficient and p in the second encoding coefficient matrix1~p4Are multiplied to obtain c'2. Thus c'2The corresponding set of coding coefficients is { alpha'2,1...α′2,4}。
7 th action of second coding coefficient matrix
Figure BDA0002634302600000295
Set of coding coefficients of finite field alpha'3,1...α′3,4H, the 7 th row encoding coefficient and p in the second encoding coefficient matrix1~p4Are multiplied to obtain c'3. Thus c'3The corresponding set of coding coefficients is { alpha'3,1...α′3,4}。
Second coding coefficient matrix action 8
Figure BDA0002634302600000296
Set of coding coefficients of finite field alpha'4,1...α′4,4H, the 8 th row encoding coefficient and p in the second encoding coefficient matrix1~p4Are multiplied to obtain c'4. Thus c'4The corresponding set of coding coefficients is { alpha'4,1...α′4,4}。
In another optional implementation manner, the second encoding coefficient matrix further includes: and the fifth finite field and the third finite field have a nested structure, wherein the fifth finite field and the third finite field satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent.
702. And performing coding processing on the one or more second coded data blocks and the k source data blocks by using the third coding coefficient matrix to generate one or more third coded data blocks.
In this embodiment, the sending end uses a third coding coefficient matrix to perform coding processing on k second coded data blocks and k source data blocks, so as to generate g third coded data blocks, where the third coded data blocks correspond to a group of coding coefficients in the third coding coefficient matrix, and g is a positive integer.
Referring to fig. 9, fig. 9 is a schematic diagram of another encoding according to an embodiment of the present application. When the transmitting end generates one or more second encoded data blocks { c'1~c′nAfter that, one or more second encoded data blocks { c'1~c′nAnd k source data blocks p1~pkCarries on coding process to generate one or more third coded data blocks { b }1~bmAnd m is a positive integer.
Wherein the third encoding coefficient matrix comprises at least encoding coefficients of a fourth finite field. The third finite field and the fourth finite field are finite fields with nested structure, wherein the third finite field is GF (E)D1) The fourth finite field is GF (E)d1) E is prime number, D1 is positive integer, D1 is positive integer, D1 is z x D1, z is positive integer greater than 1.
The third coded data block is bmWherein, in the step (A),
Figure BDA0002634302600000301
wherein, betam,k+nIs the coding coefficient of the fourth finite field,k source data blocks are pj={p1~pkJ is a positive integer, and j is more than or equal to 1 and less than or equal to k.
In an alternative implementation manner, the fourth finite field is a lowest-order finite field supported by the current sending end, and the lowest-order finite field and the third finite field have a nested structure.
In an alternative implementation, please refer to fig. 10 by way of example, and fig. 10 is a schematic diagram of another encoding in the embodiment of the present application. { p1…pk}∪{c′1…c′n}∪{b1…bmIs composed of k source data blocks and n second encoded data blocks { p }1…pk}∪{c′1…c′nAnd (4) obtaining the code by left-multiplying the second coding coefficient matrix and the source data block through a third coding coefficient matrix with (k + n + m) × (k + n) dimensionality. The coding scheme shown in fig. 10 is also referred to as a system code coding scheme. The size of the identity matrix in the third coding coefficient matrix is determined by the number (n) of second coded data blocks and the number (k) of source data blocks. And the coding coefficient of the source data block is a corresponding element in the unit matrix, and the coding coefficient of the source data block belongs to the fourth finite field.
Taking k as 4, n as 4, m as 1, and the third coding coefficient matrix is a 9 × 8 matrix, wherein the 1 st to 8 th rows form an 8 × 8 matrix with a diagonal element of 1 and other elements except the diagonal element of 0.
Coding coefficient and p in the 1 st row in the third coding coefficient matrix1~p4And c'1~c’4Multiplication is carried out to obtain p1
The 2 nd row coding coefficient and p in the third coding coefficient matrix1~p4And c'1~c’4Multiplication is carried out to obtain p2
The 3 rd row coding coefficient and p in the third coding coefficient matrix1~p4And c'1~c’4Multiplication is carried out to obtain p3
Coding coefficient and p in the 4 th row in the third coding coefficient matrix1~p4And c'1~c’4Multiplication is carried out to obtain p4
Coding coefficient and p in the 5 th row in the third coding coefficient matrix1~p4And c'1~c’4Are multiplied to obtain c'1
Coding coefficient and p in the 6 th row in the third coding coefficient matrix1~p4And c'1~c’4Are multiplied to obtain c'2
The 7 th row of coding coefficients and p in the third coding coefficient matrix1~p4And c'1~c’4Multiplication is carried out to obtain c' 3.
Coding coefficient and p in 8 th row in third coding coefficient matrix1~p4And c'1~c’4Are multiplied to obtain c'4
Note that, in the third coding coefficient matrix shown in fig. 10, the first 8 rows of coding coefficients may not be associated with p1~p4And c'1~c’4Are multiplied but are sent p1~p4And c'1~c’4Carrying the corresponding coding coefficient, e.g. in transmitting p1The row 1 coded coefficients in the third coded coefficient matrix are carried, the row 2 coded coefficients in the third coded coefficient matrix are carried when p2 is sent, and so on.
The 9 th behavior GF (2) of the third coding coefficient matrix1) Set of coding coefficients of finite field betam,1...βm,4}. Coding coefficient and p in the 9 th row in the third coding coefficient matrix1~p4And c'1~c’4Multiplying to obtain b1. Thus, b1The corresponding set of coding coefficients is { beta }m,1...βm,8}。
In another alternative implementation, please refer to fig. 11 by way of example, and fig. 11 is a schematic diagram of another encoding in the embodiment of the present application. The coding scheme shown in fig. 11 is different from the coding scheme shown in fig. 10 in that the third coding coefficient matrix does not include an identity matrix, which is a diagonal elementA matrix with element 1 and other elements 0. Specifically, k is 4, n is 4, m is 8, and the fourth finite field is GF (2)1) For illustration, the following are specific:
the 1 st row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta1,1...β1,8}. Coding coefficient { beta ] of line 1 in third coding coefficient matrix1,1…β1,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b1. Thus, b1The corresponding set of coding coefficients is { beta }1,1…β1,8}。
The 2 nd row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta2,1...β2,8}. Coding coefficient [ beta ] of row 2 in third coding coefficient matrix2,1...β2,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b2. Thus, b2The corresponding set of coding coefficients is { beta }2,1…β2,8}。
The 3 rd row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta3,1...β3,8}. The 3 rd row encoding coefficient { beta ] in the third encoding coefficient matrix3,1...β3,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b3. Thus, b3The corresponding set of coding coefficients is { beta }3,1…β3,8}。
The 4 th row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta4,1...β4,8}. Coding coefficient { beta ] of row 4 in third coding coefficient matrix4,1...β4,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b4. Thus, b4The corresponding set of coding coefficients is { beta }4,1…β4,8}。
The 5 th row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta5,1...β5,8}. Coding coefficient { beta ] of row 5 in third coding coefficient matrix5,1...β5,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b5. Thus, b5The corresponding set of coding coefficients is { beta }5,1…β5,8}。
The 6 th row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta6,1...β6,8}. Coding coefficient { beta ] of row 6 in third coding coefficient matrix6,1...β6,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b6. Thus, b6The corresponding set of coding coefficients is { beta }6,1…β6,8}。
The 7 th row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta7,1...β7,8}. Coding coefficient { beta ] of line 7 in third coding coefficient matrix7,1...β7,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b7. Thus, b7The corresponding set of coding coefficients is { beta }7,1…β7,8}。
The 8 th row coding coefficient in the third coding coefficient matrix is GF (2)1) Set of coding coefficients of finite field beta8,1...β8,8}. Coding coefficient [ beta ] of row 8 in third coding coefficient matrix8,1...β8,8Are multiplied by p1~p4And c'1~c’4Multiplying to obtain b8. Thus, b8The corresponding set of coding coefficients is { beta }8,1…β8,8}。
703. The transmitting end generates one or more second coded messages.
In this embodiment, the sending end generates one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, where one second encoded message includes: the second encoded packet contains one or more third encoded data blocks and encoding coefficients corresponding to the third encoded coefficient matrix.
The one or more second encoded messages further include a finite field order, where the finite field order includes a finite field order in which an encoding coefficient of the second encoded data block is located, a finite field order in which an encoding coefficient of the third encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In an alternative implementation, a second encoded message carries a third encoded data block (or a source data block, or a second encoded data block).
In another alternative implementation, one second encoded message carries a plurality of third encoded data blocks (and/or one or more source data blocks, and/or one or more second encoded data blocks). And is not particularly limited herein.
Optionally, the one or more second encoded packets further include a finite field order, and the finite field order includes a finite field order where an encoding coefficient of the second encoded data block is located, a finite field order where an encoding coefficient of the third encoded data block is located, and/or a finite field order where an encoding coefficient of the source data block is located. The order of the finite field may be carried after the second encoded data block/the third encoded data block, or the order of the finite field may be carried before the second encoded data block/the third encoded data block, which is not limited herein.
Illustratively, if the finite field is GF (E2), the finite field order may be 2. The order of the finite field is used for indicating the order of the finite field corresponding to the second coded data block/the third coded data block.
For example, the encoding coefficient of the finite field with a lower order is carried in an Internet Protocol (Internet Protocol, IP) header or an Ethernet (Ethernet) frame header, and may be implemented by setting an Internet Protocol version6 (IPv 6) extension header, an IP or an ETH extension field, for example; the coding coefficients of the finite field with higher order are carried in the TCP header, for example, by setting the TCP option.
In an optional implementation manner, the one or more second coding coefficient messages generated by the sending end carry a source data block. The data blocks carried by the one or more second coding coefficient messages may be represented as: { p1…pk}∪{c′1...c′n}∪{b1...bm}. The second coding coefficient message may also be referred to as a system code message.
Exemplarily, taking fig. 10 as an example, in this implementation, the second encoded message sent by the sending end includes p1~p4、c’1~c’4、b1And the group of coding coefficients carried in the transmission of D1 is the 1 st row of coding coefficients {10000000} in the third coding coefficient matrix, and p is transmitted2The carried group of coding coefficients is the 2 nd row coding coefficient {01000000} in the third coding coefficient matrix, and p is sent3The carried group of coding coefficients is the 3 rd row coding coefficient {00100000} in the third coding coefficient matrix, and p is sent4The group of coding coefficients carried in time is the 4 th row coding coefficient {00010000} in the third coding coefficient matrix. C 'is sent'1The carried group of coding coefficients is the 5 th row coding coefficient { alpha 'in the second coding coefficient matrix'1,1...α′1,4C 'and the 5 th line of coding coefficient {00001000} in the third coding coefficient matrix'2The carried group of coding coefficients is the 6 th row coding coefficient { alpha 'in the second coding coefficient matrix'2,1...α′2,4C 'and the 6 th line of coding coefficient {00000100} in the third coding coefficient matrix'3The carried group of coding coefficients is the 7 th row coding coefficient { alpha 'in the second coding coefficient matrix'3,1...α′3,4C 'and the coding coefficient {00000010} of the 7 th line in the third coding coefficient matrix are transmitted'4The carried group of coding coefficients is the 8 th row coding coefficient { alpha 'in the second coding coefficient matrix'4,1...α′4,4And 8 th row coding coefficient in the third coding coefficient matrix{00000001}, at transmission b1The carried group of coding coefficients is the 9 th row coding coefficient { beta ] in the third coding coefficient matrixm,1…βm,8}。
In another optional implementation manner, one or more second coding coefficient messages generated by the transmitting end do not carry the source data block and the second coding data block. The data blocks carried by the one or more second coding coefficient messages may be represented as: { b1...bm}. The second coding coefficient message may also be referred to as a non-systematic code message.
Exemplarily, taking fig. 11 as an example, in this implementation, the second encoded packet sent by the sending end includes b1~b8And at transmission b1The carried group of coding coefficients is the 1 st row coding coefficient { beta ] in the third coding coefficient matrix1,1...β1,8At transmission b2The carried group of coding coefficients is the 2 nd row coding coefficient { beta ] in the third coding coefficient matrix2,1...β2,8At transmission b3The carried group of coding coefficients is the 3 rd row coding coefficient { beta ] in the third coding coefficient matrix3,1...β3,8At transmission b4The carried group of coding coefficients is the 4 th row coding coefficient { beta ] in the third coding coefficient matrix4,1...β4,8}. In sending b5The carried group of coding coefficients is the 5 th row coding coefficient { alpha 'in the second coding coefficient matrix'1,1...α′1,4And the 5 th row encoding coefficient { beta } in the third encoding coefficient matrix5,1...β5,8At transmission b6The carried group of coding coefficients is the 6 th row coding coefficient { alpha 'in the second coding coefficient matrix'2,1…α′2,4And the coding coefficient of the 6 th row in the third coding coefficient matrix { beta }6,1…β6,8And the group of coding coefficients carried in the process of sending the b7 is the 7 th row coding coefficient { alpha 'in the second coding coefficient matrix'3,1...α′3,4And the 7 th row encoding coefficient { beta } in the third encoding coefficient matrix7,1...β7,8At transmission b8The set of coding coefficients carried in time is secondCoding coefficient { alpha 'of line 8 in coding coefficient matrix'4,1...α′4,4And the 8 th row encoding coefficient [ beta ] in the third encoding coefficient matrix8,1...β8,8}。
704. And the transmitting end transmits one or more second coded messages.
In this embodiment of the present application, a sending end encodes a source data block in a plurality of finite fields with nested structures, and a receiving end can decode the packet in the finite fields with nested structures. Due to the finite field with the nested structure, elements and algorithms of the finite field with higher order comprise elements and operations of the finite field with lower order. Therefore, firstly, the receiving end can decode the encoded data of the finite field with higher order in the finite field with lower order according to self calculation and application requirements, and secondly, continuously decode the previous decoding result in the finite field with higher order. The method effectively reduces the computational complexity, improves the decoding speed and the data throughput, and ensures the accuracy of decoding.
The above finite field coding method can also be used reversely as a decoding method, that is, a mode in which the coding end and the decoding end are implemented as opposite ends.
Referring to fig. 12, fig. 12 is a schematic diagram illustrating another finite field re-encoding method according to an embodiment of the present disclosure. The recoding method of the finite field can be applied to an intermediate node, and comprises the following steps:
1201. the intermediate node receives one or more third encoded packets.
In this embodiment, the intermediate node receives one or more third encoded messages, where the third encoded message includes g ' fourth encoded data blocks and g ' encoded coefficients corresponding to the fourth encoded data blocks, and g ' is a positive integer. The coding coefficient corresponding to the fourth coding data block is also referred to as the coding coefficient included in the third coded packet.
For example, the intermediate node may receive the third encoded packet sent by another intermediate node, where the other intermediate node is a previous-hop node of the intermediate node. The intermediate node may also receive a third encoded packet sent by the sending end. The third encoded message comprises the first encoded message and/or the second encoded message.
1202. And the intermediate node uses the fourth coding coefficient matrix to carry out coding processing on the fourth coding data block to generate a fifth coding data block.
In this embodiment, the intermediate node performs encoding processing on g' fourth encoded data blocks by using a fourth encoding coefficient matrix to generate one or more fifth encoded data blocks, where the fifth encoded data blocks correspond to a group of encoding coefficients in the fourth encoding coefficient matrix. For convenience of description, the encoding coefficient in the fourth encoding coefficient matrix is also referred to as a fourth encoding coefficient.
The fourth coding coefficient matrix comprises one or more fourth coding coefficients, and the finite field of the fourth coding coefficient and the finite field of the coding coefficient corresponding to the fourth coding data block have a nested structure, wherein the finite field of the fourth coding coefficient and the finite field of the coding coefficient corresponding to the fourth coding data block satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent. Illustratively, when the third encoded packet is the first encoded packet, the finite field of the fourth encoded coefficient has a nested structure with the first finite field and the second finite field; and when the third coded message is the second coded message, the finite field of the fourth coding coefficient, the third finite field and the fourth finite field have a nested structure.
Specifically, the fourth encoded data block is Xi, i is greater than or equal to 1 and less than or equal to u, i is a positive integer, and u is a positive integer;
the fourth coding coefficient is gammau,vWherein v is a positive integer greater than 1;
the fifth coded data block is YvWherein, in the step (A),
Figure BDA0002634302600000341
wherein j is more than or equal to 1 and less than or equal to v.
The specific encoding manner in step 1202 is shown in fig. 13, and fig. 13 is a schematic illustration of re-encoding in the embodiment of the present application. The third encoded message (including the first encoded message/the second encoded message) is X1~XiWherein a third encoded message may comprise aAnd the fourth coded data block and the coding coefficient corresponding to the fourth coded data block. The intermediate node will X1~XiMultiplying the new message by a fourth coding coefficient matrix to obtain a new message Y1~Yv. Wherein, the fourth encoding coefficient matrix comprises encoding coefficients belonging to the re-encoded finite field, and the 1 st row encoding coefficient of the fourth encoding coefficient matrix may be { γ [ ]1,1...γ1,v},X1~XuAnd { gamma [ ]1,1...γ1,vMultiplication is carried out to obtain Y1By analogy, the u-th row encoding coefficient of the fourth encoding coefficient matrix may be { γ }u,1...γu,v},X1~XuAnd { gamma [ ]u,1...γu,vMultiplication is carried out to obtain Yv
In an alternative implementation, the order of the finite field of the fourth coding coefficient is equal to the lowest order of the finite field in the network in which the intermediate node is located. Illustratively, when the minimum order of the finite field in the network where the intermediate node is located is d0, the minimum order finite field is GF (E)d0) E is a prime number, and d0 is a positive integer. The finite field in which the fourth coding coefficient is located is GF (E)d0)。
In another optional implementation manner, the order of the finite field of the fourth coding coefficient is less than or equal to the highest order of the finite field in the network in which the intermediate node is located, or the order of the finite field of the fourth coding coefficient is greater than or equal to the lowest order of the finite field in the network in which the intermediate node is located. Illustratively, when the minimum order of the finite field in the network where the intermediate node is located is d0, the minimum order finite field is GF (E)d0) E is a prime number, and d0 is a positive integer. The maximum order of the finite field in the network where the intermediate node is located is dmax, and the maximum order finite field is GF (E)dmax) Dmax is a positive integer. The range of the order of the fourth finite field is: dmax or less and d0 or more.
1203. The intermediate node generates one or more re-encoded packets.
In this embodiment, after the intermediate node generates one or more fifth encoded data blocks, one or more re-encoded packets are generated. A recoded message comprising: one or more fifth coded data blocks, one or more fourth coded coefficients, and/or one or more fourth coded data blocks, the coded coefficients of one or more fourth coded data blocks;
in an optional implementation manner, when sending the fifth encoded data block, the intermediate node may send the fifth encoded data block by using one re-encoding packet to carry one fifth encoded data block, or send the fifth encoded data block by using one re-encoding packet to carry multiple fifth encoded data blocks, which is not specifically limited herein.
Taking the way that the intermediate node transmits the re-encoded packet in a manner that one re-encoded packet carries one fifth encoded data block, the intermediate node may add a packet header to each fifth encoded data block to form a packet, and transmit the packet after adding a corresponding fourth encoding coefficient to the packet header or the packet tail.
Optionally, the re-encoded packet may further carry a finite field order, where the finite field order is used to indicate an order of a finite field corresponding to the fifth encoded data block. For example, the order of the finite field may be a value of a power corresponding to the finite field, for example, if the finite field of the fifth encoded data block in the re-encoded message is GF (E)2) The order of the finite field may be 2. The order of the finite field can also be the maximum power number of the finite field in the recoded message.
1204. The intermediate node sends one or more re-encoded packets.
In the embodiment of the application, the intermediate node recodes the message output by the sending end, so that the sending end and the intermediate node can form a distributed code, namely, one part of the sending end code is coded, the intermediate node recodes the other part, the sending end can carry out the code with lower complexity in the way, and the message output by the sending end is further recoded by the intermediate node, thereby reducing the network load and improving the transmission efficiency.
After receiving the fourth encoded packet, the receiving end may adopt multiple decoding modes: the first decoding method or the second decoding method will be described below. The first decoding method may be the encoding method of the embodiment shown in fig. 7, and the second decoding method may be the encoding method of the embodiment shown in fig. 4. First, a first decoding method will be described. Referring to fig. 14, fig. 14 is a schematic diagram illustrating another finite field encoding or decoding method according to an embodiment of the present application.
The decoding method of the finite field is applied to a receiving end and comprises the following steps:
1401. the receiving end receives one or more fourth encoded messages.
In this embodiment, the receiving end receives one or more fourth encoded messages. Specifically, the fourth encoded packet includes: a second encoded packet, a re-encoded packet, or a packet carrying a source data block. The second encoded packet may be directly sent to the receiving end by the intermediate node, or may be forwarded to the receiving end after being encoded (also referred to as re-encoded) by the intermediate node, which is not limited herein. For a detailed description of the second encoded packet and the re-encoded packet, please refer to the foregoing embodiments, which are not described herein again.
The fourth encoded packet includes t ' sixth encoded data blocks and encoding coefficients corresponding to the t ' sixth encoded data blocks, where t ' is a positive integer. Illustratively, when the fourth encoded message comprises the second encoded message, the sixth encoded data block comprises the second encoded data block, and/or the third encoded data block. When the fourth encoded packet includes a re-encoded packet, the sixth encoded data block includes a fifth encoded data block.
1402. And performing the first decoding operation on one or more fourth encoded messages in the low-order finite field.
In this embodiment, the receiving end decodes one or more fourth encoded messages in a low-order finite field and a high-order finite field, where the low-order finite field is a finite field with the lowest order in a network in which the receiving end is located. The low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent. For ease of understanding, please refer to fig. 15-16, in which fig. 15 is a schematic diagram of an embodiment of a decoding operation in the present application, and fig. 16 is a schematic diagram of an embodiment of a decoding operation in the present application. The first decoding operation is as follows:
determining a coding coefficient of a low-order finite field and a coding coefficient of a high-order finite field according to coding coefficients of a sixth coding data block in one or more fourth coding messages; and forming a low-order domain coding coefficient matrix by the coding coefficients of the low-order finite domain.
Firstly, forming a first decoding matrix and a second decoding matrix according to the low-order domain coding coefficient matrix, wherein coding coefficients corresponding to high-order finite fields in the coding coefficients of the first decoding matrix form a first high-order domain coding coefficient group, and the finite field of the first high-order domain coding coefficient group is the finite field with the lowest order among all high-order finite fields of the coding coefficients corresponding to the sixth coding data block; and coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving terminal.
Optionally, a first decoding matrix, a second decoding matrix and a third decoding matrix are formed according to the low-order-domain coding coefficient matrix, wherein coding coefficients corresponding to the high-order finite field in the third decoding matrix form a third high-order-domain coding coefficient group, the finite field of the third high-order-domain coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group and the second high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field corresponding to the third high-order-domain coding coefficient group is higher than the order of the highest-order finite field supported by the receiving end; and carrying out decoding operation on the third decoding matrix to generate a zero matrix.
Illustratively, k is 4, n is 4, r1 is 1, r2 is 1, r3 is 2, D1 is 3, D0 is 0, and dt is 2. The low order finite field is GF (2), and the highest order finite field supported by the receiving end is GF
Figure BDA0002634302600000361
Also known as: the calculation force of the receiving end is restricted in the nested domain
Figure BDA0002634302600000362
In this example, dt ═ 2 is described. Fig. 15 shows a low-order-domain coded coefficient matrix, in which,
a first decoding matrix:
Figure BDA0002634302600000363
a second decoding matrix:
Figure BDA0002634302600000364
a third decoding matrix:
Figure BDA0002634302600000365
and secondly, carrying out decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, wherein the first decoding sub-matrix is a zero matrix, and the second decoding matrix is an identity matrix with a diagonal coefficient of 1.
And when the second decoding matrix is subjected to decoding operation, the first decoding matrix is subjected to synchronous decoding operation to generate a third decoding sub-matrix and a fourth decoding sub-matrix.
And when the first decoding matrix is subjected to decoding operation, synchronous decoding operation is carried out on the sixth coded data block to generate data to be decoded.
In an optional implementation manner, the number of rows of the third decoding sub-matrix is identical to the number of rows of the first decoding sub-matrix, and the number of rows of the fourth decoding sub-matrix is identical to the number of rows of the second decoding sub-matrix.
In another alternative implementation, the number of columns of the third decoding submatrix is identical to the number of columns of the first decoding submatrix, and the number of columns of the fourth decoding submatrix is identical to the number of columns of the second decoding submatrix.
For example, fig. 15 shows an example of a low-order-domain coding coefficient matrix, and after a decoding operation, please refer to fig. 16, where fig. 16 is a schematic diagram of another decoding operation in the embodiment of the present application.
For the second decoding matrix:
Figure BDA0002634302600000366
a decoding operation, such as gaussian elimination, is performed. Obtaining a first decoding sub-matrix:
Figure BDA0002634302600000367
and a second decoding submatrix:
Figure BDA0002634302600000368
the rank of the second decoding sub-matrix is also referred to as the rank of the second decoding matrix.
When the second decoding matrix performs decoding operation, the first decoding matrix synchronizes the decoding operation, for example: eliminating Gaussian Yuan. Obtaining a third decoding sub-matrix:
Figure BDA0002634302600000369
and a fourth decoding submatrix:
Figure BDA00026343026000003610
in an alternative implementation, the receiving end performs the first decoding operation before. And when the receiving end receives w fourth coded messages, w is a positive integer. And the receiving end judges the w fourth coded messages aiming at the k source data blocks in one group and determines whether to carry out decoding operation or not.
Decoding the w fourth encoded packets when the following conditions are met, including:
Figure BDA0002634302600000371
wherein,
Figure BDA0002634302600000372
Is composed of
Figure BDA0002634302600000373
The matrix is a matrix of a plurality of matrices,
Figure BDA0002634302600000374
satisfy the requirement of
Figure BDA0002634302600000375
The third decoding matrix is
Figure BDA0002634302600000376
The high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of a high-order finite domain, and the low-order domain coding coefficient matrix is H.
For example, the fourth encoded packet includes the second encoded packet. Second coding coefficient matrix G ═ Ik A1 ... AD]TWherein. Matrix AdIs based on a third finite field GF (E)d1) And the second finite field GF (E)D1) R of the coding coefficient of (1)dX k matrix. For convenience of description, let D1 ═ D, D1 ═ D, where 1 ≦ D, let
Figure BDA0002634302600000377
It is assumed that the computational power of the receiving end is constrained to the nested domain
Figure BDA0002634302600000378
In d0≤dtD or less, and at a certain moment, the receiving end receives w fourth coded messages (or the coded data blocks of the w fourth coded messages carried in one or more fourth coded messages) b'1,b′2,...,b′w
The receiving end collocates the low-order finite field coding coefficients carried in the message header of each fourth coding message according to lines to obtain a baseIn that
Figure BDA0002634302600000379
A low-order-domain coding coefficient matrix H of dimension w × (k + n), which satisfies:
[b′1 T,b′2 T,...,b’w T]T=HG[p1 T,p2 T,...,pk T]T
note that in the low-order field coding coefficient matrix, finally
Figure BDA00026343026000003710
The use of each element corresponding to the source (the source is a transmitting end or an intermediate node) is larger than that of the element corresponding to the source
Figure BDA00026343026000003711
The higher order finite field of the order of the encoded data block. This portion of the encoded data block cannot be directly decoded in the receiving end of the current algorithm. Need to be based on
Figure BDA00026343026000003712
Elimination of Gaussian elimination
Figure BDA00026343026000003713
The coding data block for decoding can be obtained only after the finite field coding coefficient with higher order number.
Based on the above analysis, the current computing power is
Figure BDA00026343026000003714
The determination of decodable at the receiving end requires:
Figure BDA00026343026000003715
wherein
Figure BDA00026343026000003716
Is one
Figure BDA00026343026000003717
A matrix, which satisfies:
Figure BDA00026343026000003718
the third decoding matrix is
Figure BDA00026343026000003719
By passing
Figure BDA00026343026000003720
The product can be one (w-rank (H)d) Dimension (k + n)
Figure BDA0002634302600000381
-matrix, where last
Figure BDA0002634302600000382
The column coefficients are all 0. Thus if a matrix is selected
Figure BDA0002634302600000383
In
Figure BDA0002634302600000384
The matrix H' is formed by row vectors that are linearly independent of each other, and the above-mentioned decision condition is equivalent to the following condition:
rank(H′G)=k。
the matrix is described below
Figure BDA0002634302600000385
And H' iterative algorithm:
hwindicating receipt by the receiving end, the w-th one based on
Figure BDA0002634302600000386
And (2) a row vector formed by the coding coefficients of the (k + n) -dimensional low-order finite field. Suppose hwThere is at least one non-zero element. Order to
Figure BDA0002634302600000387
Represents hwMiddle and last
Figure BDA0002634302600000388
A row vector of elements.
1. Initialization: order matrix
Figure BDA0002634302600000389
H′、M、
Figure BDA00026343026000003810
Is a null matrix, and the number of columns are w columns, (k + n) columns and
Figure BDA00026343026000003811
and (4) columns.
2. The receiving end just receives the w fourth coded message, and if the previous w-1 fourth coded message has been processed, the receiving end aims at
Figure BDA00026343026000003812
One of the following two options is performed.
A: when in use
Figure BDA00026343026000003813
Is a zero vector, first using the new matrix
Figure BDA00026343026000003814
Updating
Figure BDA00026343026000003815
Secondly, at the current matrices M and M, respectively
Figure BDA00026343026000003816
Below which an all zero row is added. Finally it is determined whether hw is linearly independent of all rows in the current H'.
If not, keeping H' unchanged; if so, the new matrix is used
Figure BDA00026343026000003817
Update H' (will H)wAdd the linearly independent group as a new row), the loop ends.
B: when in use
Figure BDA00026343026000003818
Not a zero vector, then it is determined whether the current vector is satisfied
Figure BDA00026343026000003819
All rows in (a) are linearly independent.
If so, respectively pair
Figure BDA00026343026000003820
M、
Figure BDA00026343026000003821
Updating:
Figure BDA00026343026000003822
Figure BDA00026343026000003823
if not, the following steps are executed: first, calculate the (w-1) -dimensional row vector k satisfies
Figure BDA00026343026000003824
Secondly, use the new matrix
Figure BDA0002634302600000391
Updating
Figure BDA0002634302600000392
Further calculating a new vector S-kM + hwAt the current matrix M and M, respectively
Figure BDA0002634302600000393
An all zero row is added below;
again, it is determined whether the vector S is the same as that in the current HAll lines are linearly independent; if not, keeping H' unchanged; if so, the new matrix is used
Figure BDA0002634302600000394
And updating H', and ending the cycle.
The above iterative process has the following properties:
Figure BDA0002634302600000395
and
Figure BDA0002634302600000396
the sum of the number of rows of (a) is equal to w;
Figure BDA0002634302600000397
the non-zero row of (2) is maintained during the cycle at all times
Figure BDA0002634302600000398
A set of bases in row vector space.
Figure BDA0002634302600000399
The row vector of (a) forms HdA set of bases of null space of the row vector space. The row vector of H' is kept at all times
Figure BDA00026343026000003910
A set of bases of a row vector space, wherein
Figure BDA00026343026000003911
That is, H is the w × (k + n) low-order-domain coding coefficient matrix of w messages.
For example, to facilitate understanding, a specific example is given in the embodiments of the present application to illustrate the above-described determination execution process:
let the parameter k be 3, n be 2, where r1=r2=1,D=2,d 00. The second coding coefficient matrix G is defined as
Figure BDA00026343026000003912
Wherein the alpha is a linear alpha,beta is GF (2)2) And GF (2)4) Is the primitive of (1) and satisfies the condition that alpha is beta5
For a receiving end t, GF (2)2) The maximum finite field that can be calculated, that is, dt is 1 (only the multiplication operation between primitive α and its power can be calculated), 4 fourth encoded messages have been received at present, and the encoding coefficients thereof are juxtaposed by rows to obtain a low-order field encoding coefficient matrix H, which is expressed as:
Figure BDA00026343026000003913
since at this time
Figure BDA00026343026000003914
The iterative method according to the foregoing can be constructed as follows
Figure BDA00026343026000003915
And H':
Figure BDA00026343026000003916
Figure BDA0002634302600000401
the row vector of H' constitutes
Figure BDA0002634302600000402
A set of bases in row vector space. According to
Figure BDA0002634302600000403
Is calculated as the equivalent condition rank (H' G) ═ k
Figure BDA0002634302600000404
Due to 1+ alpha in GF (22)2When the value is 0, rank (H' G) ═ 2 < 3, so that more fourth encoded messages need to be received to complete decoding.
Is provided with h5=[1 0 0 1 1]Is the 5 th encoding coefficient vector received by the receiving end, and the encoding coefficient vector is updated and updated according to the mode of iterative algorithm
Figure BDA0002634302600000405
M、
Figure BDA0002634302600000406
Comprises the following steps:
Figure BDA0002634302600000407
however, the new vector S ═ 00010 does not satisfy the linearity independence of all rows in the current H ', so H ' remains unchanged, and then rank (H ' G) is also unchanged, and the original k fourth encoded packets are still undecodable.
Is provided with h6=[0 0 1 0 0]The 6 th coding coefficient vector received by the receiving end is directly updated because the last element is 0
Figure BDA0002634302600000408
M、
Figure BDA0002634302600000409
Comprises the following steps:
Figure BDA00026343026000004010
thereafter, it is judged that h6=[0 0 1 0 0]Independently of all row vectors in H 'being linear, H' is updated to:
Figure BDA00026343026000004011
computing
Figure BDA0002634302600000411
It satisfies rank (H' G) ═ 3, which means that the receiving end has received enough signal at this timeAnd a plurality of information realizes decoding.
In two special cases, the conditions are determined
Figure BDA0002634302600000412
It can be further simplified. When the receiving end t has the highest computational power in the current network, i.e. dtWhen D, the above condition is equivalent to rank (hg) k; when d is00 and the receiving end t has the lowest computational power in the network, i.e. dt=d0When 0, the above conditions are equivalent to
Figure BDA0002634302600000413
Figure BDA0002634302600000414
In another implementation, when the sender is in the finite field
Figure BDA0002634302600000415
Generating a second encoded packet, the intermediate node being in a finite field
Figure BDA0002634302600000416
And re-encoding the second encoded packet in the finite field with the nested structure. The above decoding decision condition can be simplified as follows:
the second coding coefficient matrix G is denoted G ═ Ik AD]TWherein the matrix ADIs based on nested domains
Figure BDA0002634302600000417
N × k matrix. Assuming the calculation power is
Figure BDA0002634302600000418
The message received by the receiving end t is b'1,b′2,...,b′wIt can be expressed as:
[b′1 T,b′2 T,...,b′w T]T=HG[p1T,p2 T,...,pk T]T=H[p1 T,...,pk T,c1 T,...,cn T],
that is, the j-th line of H corresponds to the message b'jA set of encoded coefficients. If b'jWhen the group of coding coefficients comprises coding coefficients exceeding the computation power of the receiving end t, the message b 'is directly discarded as t cannot be decoded'j
Thus, assume that the encoded coefficients in H all belong to
Figure BDA0002634302600000419
I.e. within the computational power of the receiving end t. Since only GF (2) and
Figure BDA00026343026000004110
two kinds of finite field coefficients, so there are only two cases for the coding decision criterion:
when d istAnd D, all the high-order domain decoding coefficients in the HG are within the calculation power of the receiving end t, namely, the order of the finite field of all the high-order domain decoding coefficients in the HG is less than or equal to the maximum order of the finite field supported by the receiving end. Therefore, the above decoding condition can be simplified to rank (hg) ═ k;
when d ist< D, due to the second encoded message c1 T,...,cn TIs based on finite fields
Figure BDA00026343026000004111
Generated, after the receiving end t decodes these second encoded packets, the receiving end t cannot further decode to obtain the source data block p1,...,pk. Therefore, the receiving end t needs to be based on the low-order domain coding coefficient matrix H
Figure BDA00026343026000004112
Linear operation decoding of the data block p to obtain the source data block p1,...,pk. The decoding condition can be simplified to rank (H) -rank (H)n) K, wherein HnOnly the last n columns of sub-matrices are taken for matrix H.
1403. And performing second decoding operation on the result obtained by the first decoding operation in a high-order finite field to generate one or more source data blocks.
In this embodiment, after step 1402, the receiving end performs a second decoding operation on the result obtained by the first decoding operation in the high-order finite field to generate one or more source data blocks.
For easy understanding, please refer to fig. 17-19 based on fig. 15-16, and fig. 17 is a schematic decoding diagram according to another embodiment of the present application. FIG. 18 is a diagram of yet another decoding scheme in the present embodiment. Taking the fourth encoded message as an example, including the second encoded message: and the second coding coefficient matrix of the second coding message comprises the coding coefficient of the high-order finite field in the fourth coding message.
Firstly, a fifth decoding sub-matrix is determined according to the fourth decoding sub-matrix, and the fifth decoding sub-matrix is composed of coding coefficients of a high-order finite field. Illustratively, the fifth decoding submatrix includes: GF (2)2) Matrix A1=[3 1 2 2],
Figure BDA0002634302600000421
Matrix A2=[14 3 2 7]。
Secondly, generating a sixth decoding sub-matrix according to the fourth decoding sub-matrix and the fifth decoding sub-matrix, wherein the vector in the sixth decoding sub-matrix is as follows: and the group of coding coefficients of the fifth decoding submatrix and the group of coding coefficients of the fourth decoding submatrix are obtained by adding in a finite field corresponding to the fifth decoding submatrix.
Illustratively, the set of coding coefficients of the fifth decoding submatrix is: [14327]The set of coding coefficients of the fourth decoding submatrix is: [1000]The two are in the corresponding finite field of the fifth decoding submatrix
Figure BDA0002634302600000422
And (3) adding to obtain a group of vectors of a sixth decoding submatrix: [15327]。
After step 1402, the obtained data to be decoded is represented as: [ h1 'h 2' h3 'h 4' ], wherein:
1·p1+0·p2+0·p3+1·p4=h′1 (1);
0·p1+1·p2+0·p3+1·p4=h′2 (2);
0·p1+0·p2+1·p3+0·p4+1·c1=h′3 (3);
1·p1+0·p2+0·p3+0·p4+1·c2=h′4 (4)。
according to a fourth coding sub-matrix:
Figure BDA0002634302600000423
a fifth decoding submatrix:
Figure BDA0002634302600000424
based on GF (2)2) Matrix A1=[3 1 2 2]C is mixing1=3·p1+1·p2+2·p3+2·p4Substituting equation (3) yields:
3·p1+1·p2+3·p3+2·p4=h′3 (5);
based on the fact that the user can select the specific part,
Figure BDA0002634302600000425
matrix A2=[14 3 2 7]C is mixing2=14·p1+3·p2+2·p3+7·p4Substituting equation (4) yields:
15·p1+3·p2+2·p3+7·p4=h′4 (6)。
through the above calculation, a sixth decoding sub-matrix is obtained:
Figure BDA0002634302600000426
and thirdly, obtaining a fourth decoding matrix according to the third decoding submatrix and the sixth decoding submatrix. Wherein the vectors in the sixth decoding submatrix are: and the group of coding coefficients of the fifth decoding submatrix and the group of coding coefficients of the fourth decoding submatrix are obtained by adding in a finite field corresponding to the fifth decoding submatrix.
For example, referring to fig. 18, fig. 18 shows a block diagram according to a third decoding sub-matrix:
Figure BDA0002634302600000427
and a sixth decoding sub-matrix:
Figure BDA0002634302600000431
generating a fourth decoding matrix:
Figure BDA0002634302600000432
thirdly, the receiving end carries out decoding operation on the fourth decoding matrix to generate a unit matrix with a diagonal coefficient of 1;
when the fourth decoding matrix performs decoding operation, synchronous decoding operation is performed on the data to be decoded to generate one or more source data blocks.
For example, please refer to fig. 19, and fig. 19 is a schematic decoding diagram according to an embodiment of the present application. And carrying out decoding processing on the fourth decoding matrix. The method comprises the following specific steps: and in the finite field of the third decoding submatrix, Gaussian elimination is carried out on the fourth decoding matrix. Obtaining a matrix
Figure BDA0002634302600000433
The specific Gaussian elimination steps are as follows:
h′3+3·h′1+h′2
Figure BDA0002634302600000434
h′4+15·h′1+3·h′2
Figure BDA0002634302600000435
due to the sub-matrix therein
Figure BDA0002634302600000436
It is not possible to further cancel the bits in the finite field of the third decoded sub-matrix, and therefore, a matrix pair is required
Figure BDA0002634302600000437
And carrying out inversion operation. Firstly, the following components are mixed
Figure BDA0002634302600000438
The element in (3) is converted into a corresponding element in the highest finite field in which the corresponding fifth decoding sub-matrix is located. For example: the lower finite field in which the element "3" in the submatrix is located is GF (2)2) The element "3" is in the corresponding fifth decoding submatrix, and the highest finite field is
Figure BDA0002634302600000439
Due to the element "3" in GF (2)2) In (B) represents "alpha2", and is in
Figure BDA00026343026000004310
Middle alpha2"corresponds to" 7 ". Thus, the sub-matrix
Figure BDA00026343026000004311
Are converted to obtain
Figure BDA00026343026000004312
For the matrix
Figure BDA00026343026000004313
Inversion:
Figure BDA00026343026000004314
when the fourth decoding matrix is used for decoding, synchronous decoding is carried out on the data to be decoded to generate one or more source data blocks.
In the embodiment of the present application, because the fourth encoded packet received by the receiving end is encoded by using a finite field with a nested structure. Therefore, when decoding is performed at the receiving end, decoding can be performed in the low-order finite field first, and further decoding can be performed in the high-order finite field by using the decoding result of the low-order finite field, so as to obtain one or more source data blocks finally.
Decoding in a low-order limited domain effectively reduces the requirement on the computational power of a receiving end. And the decoding in the high-order finite field is reserved, so that the decoding success rate is improved. From the perspective of decoding speed or throughput, the decoding operation of the high-order finite field in the decoding process is converted into the low-order finite field (for example, the lowest-order finite field in the current network), so that the calculation complexity is effectively reduced, and the decoding speed and the data throughput are improved.
Next, a second decoding method will be described. Referring to fig. 20a, fig. 20a is a schematic diagram illustrating another finite field encoding or decoding method according to an embodiment of the present disclosure. The method is applied to a receiving end and comprises the following steps:
2001. the receiving end receives one or more fourth encoded messages.
In this embodiment, the same as the step 1401 is omitted here.
2002. And decoding the one or more fourth encoded messages by adopting a second decoding mode to generate one or more source data blocks.
In this embodiment, the receiving end performs a decoding operation on one or more fourth encoded packets in a second decoding manner within a highest-order finite field of an encoding coefficient corresponding to a sixth encoded data block to generate k 'source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block, and k' is a positive integer.
Specifically, the sixth encoded data block is decoded in the highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficients of the sixth encoded data block is decoded to obtain a matrix with diagonal elements of 1 and other elements except the diagonal elements of 0;
and when the matrix formed by the coding coefficients of the sixth coding data block is subjected to decoding operation, the sixth coding data block is subjected to synchronous decoding operation to generate one or more source data blocks.
For example, as shown in fig. 20b, fig. 20b is a decoding diagram in the embodiment of the present application.
The encoding coefficients of the data block encoded in the sixth mode include: { alpha ″)1,1…α″1,4},{α″2,1…α″2,4},{α″3,1…α″3,4And { alpha ″ }4,1...α″4,4}; the sixth encoded data block carried in the fourth encoded packet includes: data block X ″)1Data block X ″2Data block X ″3And data block X ″)k=4(ii) a Wherein the data block X ″)1The carried coding coefficient is { alpha1,1...α″1,4Data block X ″)2The carried coding coefficient is { alpha2,1…α″2,4Data block X ″)3The carried coding coefficient is { alpha3,1…α″3,4Data block X ″)k=4The carried coding coefficient is { alpha4,1...α″4,4}. And forming a matrix according to the coding coefficients of the sixth coding data block:
Figure BDA0002634302600000441
illustratively, the specific values of the matrix may be:
Figure BDA0002634302600000442
wherein the set of coding coefficients [ 1000 ]]And [ 0100 ]]The corresponding finite field is GF (2), also known as the 1-time field; set of coding coefficients [ 3122]The corresponding finite field is GF (2)2) Also known as the 2-time domain; set of coding coefficients [ 153226]Corresponding finite field of
Figure BDA0002634302600000443
Also known as the 4-time domain.
Due to the fact that
Figure BDA0002634302600000451
GF(22) And GF (2) is a finite field with a nested structure. These three finite field addition operations, and, thus, multiplication operations, may be associated using an equivalent addition table and an equivalent multiplication table.
Figure BDA0002634302600000452
GF(22) An equivalent multiplication table of GF (2) is shown in fig. 21, and fig. 21 is an equivalent multiplication representation of a nested domain according to an embodiment of the present application. The highest order finite field corresponding to the coding coefficient of the sixth coded data block
Figure BDA0002634302600000453
And decoding the sixth encoded data block.
The method comprises the following specific steps:
referring to fig. 20c, fig. 20c is a schematic diagram illustrating another decoding method according to an embodiment of the present application. Using the equivalent multiplication table, for the matrix
Figure BDA0002634302600000454
In a limited domain
Figure BDA0002634302600000455
And performing Gaussian elimination treatment.
First, as shown in matrix (1) in fig. 20b, [ 1000 ] and [ 0100 ] are used to perform the null processing on [ 153226 ], thereby obtaining matrix (2).
Secondly, to further prune the matrix (2). From the multiplication table shown in fig. 21, [ 0026 ] 9 in the matrix (2), the matrix (3) can be obtained.
Then, the matrix (3) is further subjected to elimination, and according to the equivalent multiplication table shown in fig. 21, [ 0013 ] × 2 in the matrix (3) is eliminated to obtain a matrix (4).
Thirdly, further elimination is carried out on the matrix (4) to obtain an identity matrix (5),
Figure BDA0002634302600000456
optionally, the receiving end discards a fourth encoded packet that exceeds its own computational power, for example: when the receiving end supports decoding, the highest finite field is
Figure BDA0002634302600000457
When the finite field of the fourth encoded message is
Figure BDA0002634302600000458
The receiving end discards the fourth encoded packet.
In the embodiment of the present application, the fourth encoded packet received by the receiving end is encoded by using a finite field with a nested structure. In a finite field with a nested structure, an equivalent multiplication table (or an equivalent addition table) can be used for multiplication (or addition). Therefore, when decoding is performed at the receiving end, the sixth encoded data block can be decoded within the highest order finite field corresponding to the encoding coefficient of the sixth encoded data block. The method effectively reduces the computational complexity and improves the decoding speed and the data throughput. And moreover, the implementation flexibility of the scheme is improved.
The finite field encoding method shown in fig. 4, the finite field encoding method shown in fig. 7, and the finite field re-encoding method shown in fig. 12 are generally applied to a transmitting end (or an intermediate node) of a network device having an encoding module, and in one possible application scenario, the network device having the encoding module has a decoding module at the same time, and the network device may further execute the finite field decoding method shown in fig. 14 and the finite field decoding method shown in fig. 20. The finite field coding method shown in fig. 4, the finite field coding method shown in fig. 7, and the finite field re-coding method shown in fig. 12 are disclosed only as coding methods for avoiding redundancy in the present application. It should be understood that the above coding method can also be analyzed as a decoding method, that is, the decoding side performs the method in the reverse direction according to the method of the coding side, and the technical means of the decoding method is similar to that of the coding side, and the decoding method performed corresponding to the coding method also belongs to the protection scope of the present application. Similarly, the finite field decoding method shown in fig. 14 and the finite field decoding method shown in fig. 20 may also be analyzed as an encoding method, that is, the encoding side performs the decoding side in reverse, and the technical means thereof is similar to the decoding side, so that the encoding method performed corresponding to the above decoding method also belongs to the protection scope of the present application.
The scheme provided by the embodiment of the application is mainly introduced in the aspect of a method. It is understood that the network device includes hardware structures and/or software modules for performing the respective functions in order to realize the functions. Those of skill in the art will readily appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, functional modules of a network device (including a sending end, a receiving end, and an intermediate node) may be divided according to the above method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
Referring to fig. 22, please refer to the network device in the present application, wherein fig. 22 is a schematic diagram of an embodiment of the network device in the present application. The network device may be deployed in a network device or a terminal device, and the network device includes:
a processing module 2201, configured to perform encoding processing on k source data blocks by using a first encoding coefficient matrix to generate k first encoded data blocks, where the first encoded data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
the processing module 2201 is further configured to generate one or more first encoded messages according to the k first encoded data blocks, where the first encoded messages include the one or more first encoded data blocks and a set of encoding coefficients in a first encoding coefficient matrix corresponding to the one or more first encoded data blocks;
the first coding coefficient matrix comprises coding coefficients of a first finite field and coding coefficients of a second finite field, the first finite field and the second finite field are finite fields with nested structures, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structures meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
a transceiving module 2202 configured to transmit one or more first encoded messages.
In some alternative embodiments of the present application,
the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the first finite field and the coding coefficient of the second finite field are alphan,kN is a positive integer;
the one or more first coded data blocks include: cn, wherein the ratio of the total number of the carbon atoms,
Figure BDA0002634302600000461
in some optional embodiments of the present application, the one or more second encoded packets further include a finite field order, where the finite field order corresponds to the first encoded data block and/or the source data block, and the finite field order is a finite field order in which a group of encoding coefficients in a first encoding coefficient matrix corresponding to the first encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In some optional embodiments of the present application, the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first encoded packet;
the coding coefficient of the second finite field is carried in the transmission layer of the first coding message;
the coding coefficient of the source data block is carried in the network layer or the data link layer of the first encoded packet.
In a possible implementation manner, the processing module 2201 is configured to perform step 401 and step 402 in the embodiment corresponding to fig. 4.
In one possible implementation, the transceiver module 2202 is configured to perform step 403 in the embodiment corresponding to fig. 4.
Referring to fig. 23, fig. 23 is a schematic diagram of an embodiment of a network device according to the present application. A network device, comprising:
a processing module 2301, configured to perform encoding processing on k source data blocks by using a second encoding coefficient matrix to generate k second encoded data blocks, where the second encoded data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
the processing module 2301 is further configured to perform encoding processing on the k second encoded data blocks and the k source data blocks by using a third encoding coefficient matrix to generate g third encoded data blocks, where the third encoded data blocks correspond to a group of encoding coefficients in the third encoding coefficient matrix, and g is a positive integer;
the processing module 2301 is further configured to generate one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, where a second encoded message includes: the second coded message comprises one or more third coded data blocks and coding coefficients corresponding to the third coded coefficient matrix;
the second coding coefficient matrix comprises coding coefficients of a third finite field, the third coding coefficient matrix comprises coding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with nested structures, the order of the fourth finite field is higher than that of the third finite field, and the finite fields with nested structures satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
the transceiving module 2302 is configured to transmit one or more second encoded messages.
In some optional embodiments of the present application, the second encoded packet further includes:
one or more second encoded data blocks, and a set of encoding coefficients in a second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more source data blocks, the source data blocks corresponding to a set of coding coefficients in an identity matrix, the size of the identity matrix being determined by the number of second coded data blocks and the number of source data blocks.
In some optional embodiments of the present application, the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the third finite field is alpha'n,kN is a positive integer;
the one or more second encoded data blocks include: c'nWherein, in the step (A),
Figure BDA0002634302600000471
the fourth finite field has a coding coefficient of βm,k+n
The one or more third encoded data blocks include: bmWherein, in the step (A),
Figure BDA0002634302600000472
m is a positive integer.
In some optional embodiments of the present application, the coding coefficient of the third finite field is carried in a transmission layer of the second encoded packet;
and the coding coefficient of the fourth finite field is carried in the network layer or the data link layer of the second coded message.
In some optional embodiments of the present application, the one or more second encoded packets further include a finite field order, where the finite field order includes a finite field order in which an encoding coefficient of the second encoded data block is located, a finite field order in which an encoding coefficient of the third encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In some optional embodiments of the present application, the second encoding coefficient matrix further includes: and the fifth finite field and the third finite field have a nested structure, wherein the fifth finite field and the third finite field satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent.
In a possible implementation manner, the processing module 2301 is configured to perform step 701, step 702 and step 703 in the corresponding embodiment of fig. 7.
In a possible implementation manner, the transceiver module 2302 is configured to perform step 704 in the embodiment corresponding to fig. 7.
Referring to fig. 24, fig. 24 is a schematic diagram of an embodiment of a network device according to the present application. A network device, comprising:
a transceiver module 2401, configured to receive one or more third encoded messages, where the third encoded message includes g ' fourth encoded data blocks and encoding coefficients corresponding to the g ' fourth encoded data blocks, and g ' is a positive integer;
a processing module 2402, configured to perform encoding processing on g' fourth encoded data blocks by using a fourth encoding coefficient matrix, to generate one or more fifth encoded data blocks, where the fifth encoded data block corresponds to a group of encoding coefficients in the fourth encoding coefficient matrix:
the processing module 2402 is further configured to generate one or more re-encoded packets according to the one or more fifth encoded data blocks, where the re-encoded packets include the one or more fifth encoded data blocks and a set of encoding coefficients in a fourth encoding coefficient matrix corresponding to the one or more fifth encoded data blocks;
the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coding message have a nested structure, and the finite field with the nested structure satisfies the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
a transceiver module 2401, configured to send one or more re-encoded messages.
In some optional embodiments of the present application, the order of the finite field of the coding coefficient (fourth coding coefficient) in the fourth coding coefficient matrix is equal to the lowest order of the finite field in the network in which the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
In some optional embodiments of the present application, the fourth encoded data block is Xi, i is greater than or equal to 1 and less than or equal to u, i is a positive integer, and u is a positive integer;
the fourth coding coefficient is gammau,vWherein v is a positive integer greater than 1;
the fifth coded data block is YvWherein, in the step (A),
Figure BDA0002634302600000481
wherein j is more than or equal to 1 and less than or equal to v.
In a possible implementation manner, the processing module 2402 is configured to perform step 1202 and step 1203 in the embodiment corresponding to fig. 12.
In a possible implementation manner, the transceiver module 2401 is configured to perform step 1201 and step 1204 in the corresponding embodiment of fig. 12.
Referring to fig. 25, fig. 25 is a schematic diagram of an embodiment of a network device according to the present application. A network device, comprising:
a transceiver module 2501, configured to receive one or more fourth encoded messages, where the fourth encoded message includes t ' sixth encoded data blocks and encoding coefficients corresponding to the t ' sixth encoded data blocks, and t ' is a positive integer;
a processing module 2502, configured to perform decoding operation on one or more fourth encoded packets in a low-order finite field and a high-order finite field by using a first decoding manner, so as to generate k source data blocks, where k is a positive integer;
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
the processing module 2502 is further configured to perform, in a second decoding manner, a decoding operation on one or more fourth encoded packets within a highest-order finite field of an encoding coefficient corresponding to a sixth encoded data block, to generate k' source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block.
In some alternative embodiments of the present application,
a processing module 2502, specifically configured to perform a first decoding operation on one or more fourth encoded packets in a low-order finite field;
the processing module 2502 is specifically configured to perform a second decoding operation on a result obtained by the first decoding operation in a high-order finite field to generate k source data blocks.
In some optional embodiments of the present application, the processing module 2502 is specifically configured to determine, according to a coding coefficient corresponding to a sixth coding data block in one or more fourth coding messages, a coding coefficient of a low-order finite field and a coding coefficient of a high-order finite field;
a processing module 2502, configured to form a low-order domain coding coefficient matrix from coding coefficients of a low-order finite domain;
the processing module 2502 is specifically configured to form a first decoding matrix and a second decoding matrix according to the low-order domain coding coefficient matrix, where coding coefficients corresponding to the high-order finite field in the coding coefficients of the first decoding matrix form a first high-order domain coding coefficient group, and the finite field of the first high-order domain coding coefficient group is the finite field with the lowest order among all the high-order finite fields of the coding coefficients corresponding to the sixth coding data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving terminal;
the processing module 2502 is specifically configured to perform a decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, where the first decoding sub-matrix is a zero matrix and the second decoding matrix is an identity matrix;
the processing module 2502 is specifically configured to perform a decoding operation on the second decoding matrix, and perform a synchronous decoding operation on the first decoding matrix to generate a third decoding sub-matrix and a fourth decoding sub-matrix, where a row number of the third decoding sub-matrix is consistent with a row number of the first decoding sub-matrix, a row number of the fourth decoding sub-matrix is consistent with a row number of the second decoding sub-matrix, or a column number of the third decoding sub-matrix is consistent with a column number of the first decoding sub-matrix, and a column number of the fourth decoding sub-matrix is consistent with a column number of the second decoding sub-matrix;
the processing module 2502 is specifically configured to, when the first decoding matrix performs a decoding operation, perform a synchronous decoding operation on the sixth encoded data block to generate data to be decoded.
In some optional embodiments of the present application, the result obtained by the first decoding operation includes a third decoding submatrix, a fourth decoding submatrix, and data to be decoded,
the processing module 2502 is specifically configured to determine, according to the fourth decoding sub-matrix, a fifth decoding sub-matrix corresponding to the fourth decoding sub-matrix, where the fifth decoding sub-matrix is formed by coding coefficients of a high-order finite field;
the processing module 2502 is specifically configured to generate a sixth decoding sub-matrix according to the fourth decoding sub-matrix and the fifth decoding sub-matrix, where a vector in the sixth decoding sub-matrix is obtained by adding a group of coding coefficients of the fifth decoding sub-matrix and a group of coding coefficients of the fourth decoding sub-matrix in a finite field corresponding to the fifth decoding sub-matrix;
the processing module 2502 is specifically configured to form a fourth decoding matrix according to the third decoding sub-matrix and the sixth decoding sub-matrix;
a processing module 2502, specifically configured to perform a decoding operation on the fourth decoding matrix to generate an identity matrix;
the processing module 2502 is specifically configured to, when performing a decoding operation on the fourth decoding matrix, perform a synchronous decoding operation on data to be decoded, and generate k source data blocks.
In some alternative embodiments of the present application,
the processing module 2502 is specifically configured to form a first decoding matrix, a second decoding matrix and a third decoding matrix according to the low-order domain coding coefficient matrix, where coding coefficients corresponding to the high-order finite field in the third decoding matrix form a third high-order domain coding coefficient set, the finite field of the third high-order domain coding coefficient set is the finite field of other coding coefficients except the first high-order finite field coding coefficient set and the second high-order finite field coding coefficient set in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field corresponding to the third high-order domain coding coefficient set is higher than the highest-order finite field order supported by the receiving end;
the processing module 2502 is specifically configured to perform a decoding operation on the third decoding matrix to generate a zero matrix.
In some alternative embodiments of the present application,
for k blocks of source data, where k is a positive integer, when the following condition is satisfied,
the processing module 2502 is further configured to decode w fourth encoded packets, including:
Figure BDA0002634302600000501
wherein the content of the first and second substances,
Figure BDA0002634302600000502
is composed of
Figure BDA0002634302600000503
The matrix is a matrix of a plurality of matrices,
Figure BDA0002634302600000504
satisfy the requirement of
Figure BDA0002634302600000505
The third decoding matrix is
Figure BDA0002634302600000506
The high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of a high-order finite domain, and the low-order domain coding coefficient matrix is H, w is a positive integer.
In some alternative embodiments of the present application,
the processing module 2502 is specifically configured to decode the sixth encoded data block within a highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficient of the sixth encoded data block is decoded to obtain an identity matrix;
the processing module 2502 is specifically configured to, when a decoding operation is performed on a matrix formed by the encoding coefficients of the sixth encoded data block, perform a synchronous decoding operation on the sixth encoded data block to generate k' source data blocks.
In a possible implementation manner, the processing module 2502 is configured to execute the step 1402 and the step 1403 in the embodiment corresponding to fig. 14, and/or the step 2002 in the embodiment corresponding to fig. 20 a.
In a possible implementation manner, the transceiver module 2501 is configured to execute step 1401 in the embodiment corresponding to fig. 14, and/or step 2001 in the embodiment corresponding to fig. 20 a.
The network device in the above embodiments may be a network device, or may be a chip applied in a network device, or other combined devices and components that can implement the functions of the network device. When the network device is a network device, the transceiver module and the transmitting module may be transceivers, the transceivers may include antennas, radio frequency circuits, and the like, and the processing module may be a processor, such as a baseband chip and the like. When the network device is a component having the above-mentioned network device function, the transceiver module and the transmitter module may be radio frequency units, and the processing module may be a processor. When the network device is a system on chip, the transceiver module may be an input port of the system on chip, the transmitter module may be an output port of the system on chip, and the processing module may be a processor of the system on chip, for example: a Central Processing Unit (CPU).
In the embodiment of the present application, the network device includes a memory mainly used for storing software programs and data, for example, storing the first encoding coefficient matrix or the second encoding coefficient matrix described in the above embodiments. The network device also has the following functions:
a network apparatus, comprising:
a processor, configured to perform encoding processing on k source data blocks by using a first encoding coefficient matrix to generate k first encoded data blocks, where the first encoded data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
the processor is further used for generating one or more first coded messages according to the k first coded data blocks, wherein the first coded messages comprise one or more first coded data blocks and a group of coded coefficients in a first coded coefficient matrix corresponding to the one or more first coded data blocks;
the first coding coefficient matrix comprises coding coefficients of a first finite field and coding coefficients of a second finite field, the first finite field and the second finite field are finite fields with nested structures, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structures meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
a transceiver for transmitting one or more first encoded messages.
In some alternative embodiments of the present application,
the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the first finite field and the coding coefficient of the second finite field are alphan,kN is a positive integer;
the one or more first coded data blocks include: cn, wherein the ratio of the total number of the carbon atoms,
Figure BDA0002634302600000511
in some optional embodiments of the present application, the one or more second encoded packets further include a finite field order, where the finite field order corresponds to the first encoded data block and/or the source data block, and the finite field order is a finite field order where an encoding coefficient of the first encoded data block is located, and/or a finite field order where an encoding coefficient of the source data block is located.
In some optional embodiments of the present application, the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first encoded packet;
the coding coefficient of the second finite field is carried in the transmission layer of the first coding message;
the coding coefficient of the source data block is carried in the network layer or the data link layer of the first encoded packet.
In one possible implementation, the processor is configured to perform step 401 and step 402 in the embodiment corresponding to fig. 4.
In one possible implementation, the transceiver is used to execute step 403 in the embodiment corresponding to fig. 4.
A network apparatus, comprising:
the processor is used for encoding the k source data blocks by using the second encoding coefficient matrix to generate k second encoding data blocks, the second encoding data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
the processor is further configured to perform encoding processing on the k second encoded data blocks and the k source data blocks by using a third encoding coefficient matrix to generate g third encoded data blocks, where the third encoded data blocks correspond to a group of encoding coefficients in the third encoding coefficient matrix, and g is a positive integer;
the processor is further configured to generate one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, where a second encoded message includes: the second coded message comprises one or more third coded data blocks and coding coefficients corresponding to the third coded coefficient matrix;
the second coding coefficient matrix comprises coding coefficients of a third finite field, the third coding coefficient matrix comprises coding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with nested structures, the order of the fourth finite field is higher than that of the third finite field, and the finite fields with nested structures satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and the transceiver is used for transmitting one or more second coded messages.
In some optional embodiments of the present application, the second encoded packet further includes:
one or more second encoded data blocks, and a set of encoding coefficients in a second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more source data blocks, the source data blocks corresponding to a set of coding coefficients in an identity matrix, the size of the identity matrix being determined by the number of second coded data blocks and the number of source data blocks.
In some optional embodiments of the present application, the source data block is: p is a radical ofjWherein j is a positive integer, and j is more than or equal to 1 and less than or equal to k;
the coding coefficient of the third finite field is alpha'n,kN is a positive integer;
the one or more second encoded data blocks include: c'nWherein, in the step (A),
Figure BDA0002634302600000521
the fourth finite field has a coding coefficient of βm,k+n
The one or more third encoded data blocks include: bmWherein, in the step (A),
Figure BDA0002634302600000522
m is a positive integer.
In some optional embodiments of the present application, the coding coefficient of the third finite field is carried in a transmission layer of the second encoded packet;
and the coding coefficient of the fourth finite field is carried in the network layer or the data link layer of the second coded message.
In some optional embodiments of the present application, the one or more second encoded packets further include a finite field order, where the finite field order includes a finite field order in which an encoding coefficient of the second encoded data block is located, a finite field order in which an encoding coefficient of the third encoded data block is located, and/or a finite field order in which an encoding coefficient of the source data block is located.
In some optional embodiments of the present application, the second encoding coefficient matrix further includes: and the fifth finite field and the third finite field have a nested structure, wherein the fifth finite field and the third finite field satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent.
In a possible implementation manner, the processor is configured to perform step 701, step 702, and step 703 in the embodiment corresponding to fig. 7.
In one possible implementation, the transceiver is used to perform step 704 in the corresponding embodiment of fig. 7.
A network apparatus, comprising:
the transceiver is used for receiving one or more third coded messages, wherein the third coded messages comprise g ' fourth coded data blocks and coding coefficients corresponding to the g ' fourth coded data blocks, and g ' is a positive integer;
the processor is used for carrying out coding processing on g' fourth coding data blocks by using the fourth coding coefficient matrix to generate one or more fifth coding data blocks, and the fifth coding data blocks correspond to a group of coding coefficients in the fourth coding coefficient matrix;
the processor is further used for generating one or more re-encoded messages according to the one or more fifth encoded data blocks, wherein the re-encoded messages comprise the one or more fifth encoded data blocks and a group of encoding coefficients in a fourth encoding coefficient matrix corresponding to the one or more fifth encoded data blocks;
the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coding message have a nested structure, and the finite field with the nested structure satisfies the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
a transceiver for transmitting one or more re-encoded messages.
In some optional embodiments of the present application, the order of the finite field of the coding coefficient (fourth coding coefficient) in the fourth coding coefficient matrix is equal to the lowest order of the finite field in the network in which the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
In some optional embodiments of the present application, the fourth encoded data block is Xi, i is greater than or equal to 1 and less than or equal to u, i is a positive integer, and u is a positive integer;
the fourth coding coefficient is gammau,vWherein v is a positive integer greater than 1;
the fifth coded data block is YvWherein, in the step (A),
Figure BDA0002634302600000531
wherein j is more than or equal to 1 and less than or equal to v.
In one possible implementation, the processor is configured to perform step 1202 and step 1203 in the embodiment corresponding to fig. 12.
In one possible implementation, the transceiver is configured to perform step 1201 and step 1204 in the embodiment corresponding to fig. 12.
A network apparatus, comprising:
the transceiver is used for receiving one or more fourth coded messages, wherein the fourth coded messages comprise t ' sixth coded data blocks and coding coefficients corresponding to the t ' sixth coded data blocks, and t ' is a positive integer;
the processor is used for performing decoding operation on one or more fourth encoded messages in a low-order finite field and a high-order finite field by adopting a first decoding mode to generate k source data blocks, wherein k is a positive integer;
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure meet the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
the processor is further configured to perform a decoding operation on one or more fourth encoded packets in a highest-order finite field of an encoding coefficient corresponding to the sixth encoded data block by using a second decoding manner, so as to generate k' source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block.
In some alternative embodiments of the present application,
the processor is specifically used for carrying out first decoding operation on one or more fourth coded messages in a low-order finite field;
and the processor is specifically used for performing second decoding operation on the result obtained by the first decoding operation in a high-order finite field to generate k source data blocks.
In some optional embodiments of the present application, the processor is specifically configured to determine, according to a coding coefficient corresponding to a sixth coding data block in one or more fourth coding messages, a coding coefficient of a low-order finite field and a coding coefficient of a high-order finite field;
the processor is specifically used for forming a low-order domain coding coefficient matrix by the coding coefficients of the low-order finite domain;
the processor is specifically used for forming a first decoding matrix and a second decoding matrix according to the low-order-domain coding coefficient matrix, wherein coding coefficients corresponding to the high-order finite field in the coding coefficients of the first decoding matrix form a first high-order-domain coding coefficient group, and the finite field of the first high-order-domain coding coefficient group is the finite field with the lowest order among all the high-order finite fields of the coding coefficients corresponding to the sixth coding data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving terminal;
the processor is specifically configured to perform a decoding operation on the second decoding matrix to generate a first decoding submatrix and a second decoding submatrix, where the first decoding submatrix is a zero matrix and the second decoding submatrix is an identity matrix;
the processor is specifically configured to perform synchronous decoding operation on the first decoding matrix when the second decoding matrix performs decoding operation, and generate a third decoding sub-matrix and a fourth decoding sub-matrix, where a row number of the third decoding sub-matrix is consistent with a row number of the first decoding sub-matrix, a row number of the fourth decoding sub-matrix is consistent with a row number of the second decoding sub-matrix, or a column number of the third decoding sub-matrix is consistent with a column number of the first decoding sub-matrix, and a column number of the fourth decoding sub-matrix is consistent with a column number of the second decoding sub-matrix;
and the processor is specifically configured to perform synchronous decoding operation on the sixth encoded data block to generate data to be decoded when the first decoding matrix performs decoding operation.
In some optional embodiments of the present application, the result obtained by the first decoding operation includes a third decoding submatrix, a fourth decoding submatrix, and data to be decoded,
the processor is specifically configured to determine a fifth decoding sub-matrix corresponding to the fourth decoding sub-matrix according to the fourth decoding sub-matrix, where the fifth decoding sub-matrix is composed of coding coefficients of a high-order finite field;
the processor is specifically configured to generate a sixth decoding submatrix according to the fourth decoding submatrix and the fifth decoding submatrix, where a vector in the sixth decoding submatrix is obtained by adding a group of coding coefficients of the fifth decoding submatrix and a group of coding coefficients of the fourth decoding submatrix in a finite field corresponding to the fifth decoding submatrix;
the processor is specifically used for forming a fourth decoding matrix according to the third decoding submatrix and the sixth decoding submatrix;
the processor is specifically used for carrying out decoding operation on the fourth decoding matrix to generate an identity matrix;
and the processor is specifically configured to perform synchronous decoding operation on the data to be decoded when performing decoding operation on the fourth decoding matrix, so as to generate k source data blocks.
In some alternative embodiments of the present application,
the processor is specifically used for forming a first decoding matrix, a second decoding matrix and a third decoding matrix according to the low-order-domain coding coefficient matrix, wherein coding coefficients corresponding to a high-order finite field in the third decoding matrix form a third high-order-domain coding coefficient group, the finite field of the third high-order-domain coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group and the second high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field corresponding to the third high-order-domain coding coefficient group is higher than the highest-order finite field order supported by the receiving end;
and the processor is specifically used for carrying out decoding operation on the third decoding matrix to generate a zero matrix.
In some alternative embodiments of the present application,
for k blocks of source data, where k is a positive integer, when the following condition is satisfied,
the processor, further configured to decode w fourth encoded packets, includes:
Figure BDA0002634302600000541
wherein the content of the first and second substances,
Figure BDA0002634302600000551
is composed of
Figure BDA0002634302600000552
The matrix is a matrix of a plurality of matrices,
Figure BDA0002634302600000553
satisfy the requirement of
Figure BDA0002634302600000554
The third decoding matrix is
Figure BDA0002634302600000555
The high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of a high-order finite domain, and the low-order domain coding coefficient matrix is H, w is a positive integer.
In some alternative embodiments of the present application,
the processor is specifically configured to decode the sixth encoded data block within a highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficients of the sixth encoded data block is decoded to obtain an identity matrix;
and the processor is specifically configured to perform synchronous decoding operation on the sixth encoded data block to generate k' source data blocks when a matrix formed by the encoding coefficients of the sixth encoded data block is subjected to decoding operation.
In a possible implementation manner, the processor is configured to execute step 1402 and step 1403 in the embodiment corresponding to fig. 14, and/or step 2002 in the embodiment corresponding to fig. 20 a.
In one possible implementation, the transceiver is configured to perform step 1401 in the embodiment corresponding to fig. 14, and/or step 2001 in the embodiment corresponding to fig. 20 a.
It should be noted that, the contents of information interaction, execution processes and the like between modules and/or components of the network device are based on the same concept as the method embodiments corresponding to fig. 4 to 20a in the present application, and specific contents may refer to descriptions in the foregoing method embodiments in the present application, and are not described herein again.
It should be noted that, for the specific implementation manner of the network device and the beneficial effects brought by the implementation manner, reference may be made to descriptions in each method embodiment corresponding to fig. 4 to fig. 20a, and details are not repeated here.
Fig. 26 shows a schematic view of a processing apparatus according to an embodiment of the present application, where fig. 26 is a schematic view of the processing apparatus according to the embodiment of the present application. The processing device includes a processor 2601 and an interface 2602; the processor 2601 is configured to perform the finite field encoding or decoding method of any of the above method embodiments.
It should be understood that the processing device may be a chip, the processor 2601 may be implemented by hardware or by software, and when implemented by hardware, the processor 2601 may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor 2601 may be a general-purpose processor implemented by reading software code stored in a memory that may be integrated with the processor 2601 or may be located external to the processor 2601 and stand-alone.
The term "implemented by hardware" means that the functions of the modules or units are implemented by a hardware processing circuit without a program instruction processing function, and the hardware processing circuit may be composed of discrete hardware components or may be an integrated circuit. In order to reduce power consumption and size, the integrated circuit is usually implemented. The hardware processing circuit may include an ASIC (application-specific integrated circuit), or a PLD (programmable logic device); the PLD may include an FPGA (field programmable gate array), a CPLD (complex programmable logic device), and the like. These hardware processing circuits may be a semiconductor chip packaged separately (e.g., as an ASIC); for example, various hardware circuits and CPUs may be formed on a silicon substrate and packaged separately into a chip, which is also referred to as SoC, or circuits and CPUs for implementing FPGA functions may be formed on a silicon substrate and packaged separately into a chip, which is also referred to as SoPC (system on a programmable chip).
The present application further provides a communication system including at least one or more of a transmitting end, a receiving end, and an intermediate node.
The embodiment of the present application also provides a computer-readable storage medium, which includes instructions, when executed on a computer, for causing the computer to control a network device to perform any one of the implementations shown in the foregoing method embodiments.
The embodiment of the present application further provides a computer program product, which includes computer program code, when the computer program code runs on a computer, the computer is caused to execute any implementation manner shown in the foregoing method embodiment.
The embodiment of the present application further provides a chip system, which includes a memory and a processor, where the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the chip executes any implementation manner shown in the foregoing method embodiments.
An embodiment of the present application further provides a chip system, which includes a processor, where the processor is configured to call and run a computer program, so that the chip executes any implementation manner shown in the foregoing method embodiment.
It should be noted that the above-described embodiments of the apparatus are merely schematic, where units illustrated as separate components may or may not be physically separate, and components illustrated as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. In addition, in the drawings of the embodiments of the apparatus provided in the present application, the connection relationship between the modules indicates that there is a communication connection therebetween, and may be implemented as one or more communication buses or signal lines.
Through the above description of the embodiments, those skilled in the art will clearly understand that the present application can be implemented by software plus necessary general-purpose hardware, and certainly can also be implemented by special-purpose hardware including special-purpose integrated circuits, special-purpose CPUs, special-purpose memories, special-purpose components and the like. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same functions may be various, such as analog circuits, digital circuits, or dedicated circuits. However, for the present application, the implementation of a software program is more preferable. Based on such understanding, the technical solutions of the present application may be substantially embodied in the form of a software product, which is stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk of a computer, and includes several instructions for causing a computer device to execute the method according to the embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website site, computer, network appliance, computing device, or data center to another website site, computer, network appliance, computing device, or data center by wire (e.g., coaxial cable, fiber optics, Digital Subscriber Line (DSL)) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device including one or more available media integrated network appliances, data centers, and the like. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method of the embodiments of the present application.
In short, the above description is only a preferred embodiment of the present disclosure, and is not intended to limit the scope of the present disclosure. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims (34)

1. A method for encoding a finite field, the method comprising:
encoding k source data blocks by using a first encoding coefficient matrix to generate k first encoding data blocks, wherein the first encoding data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
generating one or more first encoded messages according to the k first encoded data blocks, where the first encoded messages include one or more first encoded data blocks and a set of encoding coefficients in the first encoding coefficient matrix corresponding to the one or more first encoded data blocks;
the first encoding coefficient matrix comprises encoding coefficients of a first finite field and encoding coefficients of a second finite field, the first finite field and the second finite field are finite fields with a nested structure, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structure satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
and transmitting the one or more first coded messages.
2. The method of claim 1, wherein the first encoded packet further comprises one or more source data blocks, wherein the source data blocks correspond to a set of coding coefficients in an identity matrix, and wherein the identity matrix has the same size as the first coding coefficient matrix.
3. The method according to claim 1 or 2,
the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first coded message;
and the coding coefficient of the second finite field is carried in the transmission layer of the first coding message.
4. A method for encoding a finite field, the method comprising:
encoding the k source data blocks by using a second encoding coefficient matrix to generate k second encoding data blocks, wherein the second encoding data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
encoding the k second encoded data blocks and the k source data blocks by using a third encoding coefficient matrix to generate g third encoded data blocks, where the third encoded data blocks correspond to a group of encoding coefficients in the third encoding coefficient matrix, and g is a positive integer;
generating one or more second encoded messages according to the k second encoded data blocks and the g third encoded data blocks, wherein one of the second encoded messages includes: one or more of the third encoded data blocks and one or more of the encoding coefficients of the third encoded data blocks, where the second encoded packet includes one or more of the third encoded data blocks and encoding coefficients corresponding to the third encoding coefficient matrix;
wherein the second encoding coefficient matrix comprises encoding coefficients of a third finite field, the third encoding coefficient matrix comprises encoding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with a nested structure, the fourth finite field has a higher order than the third finite field, and the finite fields with the nested structure satisfy the following relationship: the orders have a multiple relation, and the characteristic numbers are consistent;
and sending one or more second coded messages.
5. The method of claim 4, wherein the second encoded packet further comprises:
one or more of the second encoded data blocks, and a set of encoding coefficients in the second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more of the source data blocks, where the source data block corresponds to a set of coding coefficients in an identity matrix, and the size of the identity matrix is determined by the number of the second coded data blocks and the number of the source data blocks.
6. The method according to claim 4 or 5,
the coding coefficient of the third finite field is carried in the transmission layer of the second coded message;
and the coding coefficient of the fourth finite field is carried in a network layer or a data link layer of the second coded message.
7. The method according to any of claims 4-6, wherein the second matrix of coding coefficients further comprises coding coefficients of a fifth finite field, the fifth finite field and the third finite field having a nested structure, and wherein the order of the fifth finite field is different from the order of the third finite field.
8. A method for re-encoding a finite field, the method comprising:
receiving one or more third encoded messages, where the third encoded messages include g ' fourth encoded data blocks and encoding coefficients corresponding to the g ' fourth encoded data blocks, and g ' is a positive integer;
encoding the g' fourth encoded data blocks by using a fourth encoding coefficient matrix to generate one or more fifth encoded data blocks, wherein the fifth encoded data blocks correspond to a group of encoding coefficients in the fourth encoding coefficient matrix;
generating one or more re-encoded messages according to the one or more fifth encoded data blocks, where the re-encoded messages include the one or more fifth encoded data blocks and a group of encoding coefficients in the fourth encoding coefficient matrix corresponding to the one or more fifth encoded data blocks;
wherein, the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coded packet have a nested structure, and the finite field having the nested structure satisfies the following relationship: the orders have a multiple relation, and the characteristic numbers are consistent;
and sending one or more recoding messages.
9. The method of claim 8,
the finite field order of the coding coefficient in the fourth coding coefficient matrix is equal to the lowest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
10. A method for finite field decoding, the method comprising:
receiving one or more fourth encoded messages, where the fourth encoded messages include t ' sixth encoded data blocks and encoding coefficients corresponding to the t ' sixth encoded data blocks, and t ' is a positive integer;
decoding the one or more fourth encoded messages in a low-order finite field and a high-order finite field by adopting a first decoding mode to generate k source data blocks, wherein k is a positive integer;
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
or, decoding the one or more fourth encoded packets by using a second decoding manner within a highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block to generate k 'source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block, and k' is a positive integer.
11. The method of claim 10, wherein decoding the one or more fourth encoded packets in the low-order finite field and the high-order finite field using the first decoding method to generate the k source data blocks comprises:
performing a first decoding operation on the one or more fourth encoded packets within the low-order finite field;
and performing a second decoding operation on the result obtained by the first decoding operation in the high-order finite field to generate the k source data blocks.
12. The method of claim 11, wherein performing the first decoding operation on the one or more fourth encoded packets within the low-order finite field comprises:
determining the coding coefficient of the low-order finite field and the coding coefficient of the high-order finite field according to the coding coefficient corresponding to the sixth coding data block in the one or more fourth coding messages;
forming a low-order domain coding coefficient matrix by the coding coefficients of the low-order finite domain;
forming a first decoding matrix and a second decoding matrix according to the low-order domain coding coefficient matrix, wherein,
coding coefficients corresponding to the high-order finite field in the coding coefficients of the first decoding matrix form a first high-order field coding coefficient group, and the finite field of the first high-order field coding coefficient group is the finite field with the lowest order among all the high-order finite fields of the coding coefficients corresponding to the sixth coding data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving end;
performing decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, wherein the first decoding sub-matrix is a zero matrix, and the second decoding matrix is an identity matrix;
when the second decoding matrix is subjected to decoding operation, synchronously decoding the first decoding matrix to generate a third decoding sub-matrix and a fourth decoding sub-matrix, wherein the row number of the third decoding sub-matrix is consistent with that of the first decoding sub-matrix, the row number of the fourth decoding sub-matrix is consistent with that of the second decoding sub-matrix, or the column number of the third decoding sub-matrix is consistent with that of the first decoding sub-matrix, and the column number of the fourth decoding sub-matrix is consistent with that of the second decoding sub-matrix;
and when the first decoding matrix is subjected to decoding operation, synchronous decoding operation is carried out on the sixth coded data block to generate data to be decoded.
13. The method of claim 12, wherein performing the second decoding operation in the high-order finite field on the result of the first decoding operation to generate the k blocks of source data comprises:
the result obtained by the first decoding operation comprises the third decoding submatrix, the fourth decoding submatrix and the data to be decoded,
determining a fifth decoding sub-matrix corresponding to the fourth decoding sub-matrix according to the fourth decoding sub-matrix, wherein the fifth decoding sub-matrix is composed of the coding coefficients of the high-order finite field;
generating a sixth decoding sub-matrix according to the fourth decoding sub-matrix and the fifth decoding sub-matrix, wherein a vector in the sixth decoding sub-matrix is obtained by adding a group of coding coefficients of the fifth decoding sub-matrix and a group of coding coefficients of the fourth decoding sub-matrix in a finite field corresponding to the fifth decoding sub-matrix;
forming a fourth decoding matrix according to the third decoding submatrix and the sixth decoding submatrix;
performing decoding operation on the fourth decoding matrix to generate an identity matrix with a diagonal coefficient of 1;
and when the fourth decoding matrix is decoded, performing synchronous decoding operation on the data to be decoded to generate the k source data blocks.
14. The method according to any of claims 12-13, wherein forming the first coding matrix and the second coding matrix from the low-order-domain coding coefficient matrix comprises:
according to the low-order-domain coding coefficient matrix, forming a first decoding matrix, a second decoding matrix and a third decoding matrix, wherein coding coefficients corresponding to the high-order finite field in the third decoding matrix form a third high-order-domain coding coefficient group, the finite field of the third high-order-domain coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group and the second high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the finite field corresponding to the third high-order-domain coding coefficient group is higher than the highest-order finite field order supported by the receiving end;
and carrying out decoding operation on the third decoding matrix to generate a zero matrix.
15. The method of claim 14, further comprising:
for k of the blocks of source data, where k is a positive integer,
decoding w fourth encoded packets when the following conditions are met, including:
Figure FDA0002634302590000041
wherein the content of the first and second substances,
Figure FDA0002634302590000042
is composed of
Figure FDA0002634302590000043
The matrix is a matrix of a plurality of matrices,
Figure FDA0002634302590000044
satisfy the requirement of
Figure FDA0002634302590000045
The third coding matrix is
Figure FDA0002634302590000046
And the high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of the high-order finite domain, and the low-order domain coding coefficient matrix H and w are positive integers.
16. The method according to any of claims 10-15, wherein decoding the one or more fourth encoded packets using the second decoding scheme to generate the k' source data blocks comprises:
decoding the sixth encoded data block in a highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficient of the sixth encoded data block is decoded to obtain an identity matrix;
and when the matrix formed by the coding coefficients of the sixth coding data block is subjected to decoding operation, performing synchronous decoding operation on the sixth coding data block to generate the k' source data blocks.
17. A network apparatus, comprising:
a processor, configured to perform encoding processing on k source data blocks by using a first encoding coefficient matrix, to generate k first encoded data blocks, where the first encoded data blocks correspond to a group of encoding coefficients in the first encoding coefficient matrix, and k is a positive integer;
the processor is further configured to generate one or more first encoded messages according to the k first encoded data blocks, where the first encoded messages include one or more of the first encoded data blocks and a set of encoding coefficients in the first encoding coefficient matrix corresponding to the one or more first encoded data blocks;
the first encoding coefficient matrix comprises encoding coefficients of a first finite field and encoding coefficients of a second finite field, the first finite field and the second finite field are finite fields with a nested structure, the order of the second finite field is higher than that of the first finite field, and the finite fields with the nested structure satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
a receiver configured to send the one or more first encoded messages.
18. The network apparatus of claim 17, wherein the first encoded packet further comprises one or more source data blocks, and wherein the source data blocks correspond to a set of coding coefficients in an identity matrix, and wherein the identity matrix has the same size as the first coding coefficient matrix.
19. The network device according to claim 17 or 18,
the coding coefficient of the first finite field is carried in a network layer or a data link layer of the first coded message;
and the coding coefficient of the second finite field is carried in the transmission layer of the first coding message.
20. A finite field encoded network device, the network device comprising:
a processor, configured to perform encoding processing on k source data blocks by using a second encoding coefficient matrix to generate k second encoded data blocks, where the second encoded data blocks correspond to a group of encoding coefficients in the second encoding coefficient matrix, and k is a positive integer;
the processor is further configured to perform encoding processing on the k second encoded data blocks and the k source data blocks by using a third encoding coefficient matrix to generate g third encoded data blocks, where the third encoded data blocks correspond to a group of encoding coefficients in the third encoding coefficient matrix, and g is a positive integer;
the processor is further configured to generate one or more second encoded packets according to the k second encoded data blocks and the g third encoded data blocks, where one of the second encoded packets includes: one or more of the third encoded data blocks and one or more of the encoding coefficients of the third encoded data blocks, where the second encoded packet includes one or more of the third encoded data blocks and encoding coefficients corresponding to the third encoding coefficient matrix;
wherein the second encoding coefficient matrix comprises encoding coefficients of a third finite field, the third encoding coefficient matrix comprises encoding coefficients of a fourth finite field, the third finite field and the fourth finite field are finite fields with a nested structure, the fourth finite field has a higher order than the third finite field, and the finite fields with the nested structure satisfy the following relationship: the orders have a multiple relation, and the characteristic numbers are consistent;
and the transceiver is used for transmitting one or more second coded messages.
21. The network apparatus of claim 20, wherein the second encoded packet further comprises:
one or more of the second encoded data blocks, and a set of encoding coefficients in the second encoding coefficient matrix corresponding to the one or more second encoded data blocks,
and/or one or more of the source data blocks, where the source data block corresponds to a set of coding coefficients in an identity matrix, and the size of the identity matrix is determined by the number of the second coded data blocks and the number of the source data blocks.
22. The network device of claim 20 or 21,
the coding coefficient of the third finite field is carried in the transmission layer of the second coded message;
and the coding coefficient of the fourth finite field is carried in a network layer or a data link layer of the second coded message.
23. The network apparatus of any of claims 20-22, wherein the second matrix of coding coefficients further comprises coding coefficients of a fifth finite field, the fifth finite field and the third finite field having a nested structure, and wherein an order of the fifth finite field is different from an order of the third finite field.
24. A network apparatus for re-encoding a finite field, the network apparatus comprising:
the transceiver is used for receiving one or more third coded messages, wherein the third coded messages comprise g ' fourth coded data blocks and coding coefficients corresponding to the g ' fourth coded data blocks, and g ' is a positive integer;
a processor, configured to perform encoding processing on the g' fourth encoded data blocks by using a fourth encoding coefficient matrix, and generate one or more fifth encoded data blocks, where the fifth encoded data blocks correspond to a group of encoding coefficients in the fourth encoding coefficient matrix;
the processor is further configured to generate one or more re-encoded packets according to the one or more fifth encoded data blocks, where the re-encoded packets include the one or more fifth encoded data blocks and a set of encoding coefficients in the fourth encoding coefficient matrix corresponding to the one or more fifth encoded data blocks;
wherein, the finite field of the coding coefficient in the fourth coding coefficient matrix and the finite field of the coding coefficient contained in the third coded packet have a nested structure, and the finite field having the nested structure satisfies the following relationship: the orders have a multiple relation, and the characteristic numbers are consistent;
the transceiver is further configured to send one or more of the re-encoded packets.
25. The network device of claim 24,
the finite field order of the coding coefficient in the fourth coding coefficient matrix is equal to the lowest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is less than or equal to the highest order of the finite field in the network where the intermediate node is located;
or the order of the finite field of the coding coefficient in the fourth coding coefficient matrix is greater than or equal to the lowest order of the finite field in the network where the intermediate node is located.
26. A finite field decoding network device, the network device comprising:
the transceiver is configured to receive one or more fourth encoded messages, where the fourth encoded messages include t ' sixth encoded data blocks and encoding coefficients corresponding to the t ' sixth encoded data blocks, and t ' is a positive integer;
the processor is used for performing decoding operation on the one or more fourth encoded messages in a low-order finite field and a high-order finite field by adopting a first decoding mode to generate k source data blocks, wherein k is a positive integer;
the low-order finite field is a finite field with the lowest order in a network where a receiving end is located, the high-order finite field is any high-order finite field of coding coefficients corresponding to the sixth coding data block, the order of the high-order finite field is higher than that of the low-order finite field, the low-order finite field and the high-order finite field have a nested structure, and the finite fields with the nested structure satisfy the following relations: the orders have a multiple relation, and the characteristic numbers are consistent;
alternatively, the first and second electrodes may be,
the processor is further configured to perform a decoding operation on the one or more fourth encoded packets in a highest-order finite field of an encoding coefficient corresponding to the sixth encoded data block by using a second decoding manner, so as to generate k 'source data blocks, where the highest-order finite field is the highest-order finite field of the encoding coefficient corresponding to the sixth encoded data block, and k' is a positive integer.
27. The network device of claim 26,
the processor is specifically configured to perform a first decoding operation on the one or more fourth encoded packets within the low-order finite field;
the processor is specifically configured to perform a second decoding operation on a result obtained by the first decoding operation in the high-order finite field, and generate the k source data blocks.
28. The network device of claim 27,
the processor is specifically configured to determine, according to a coding coefficient corresponding to the sixth coding data block in the one or more fourth coding packets, a coding coefficient of the low-order finite field and a coding coefficient of the high-order finite field;
the processor is specifically configured to form a low order field coding coefficient matrix from the coding coefficients of the low order finite field;
the processor is specifically configured to form a first decoding matrix and a second decoding matrix according to the low-order-domain coding coefficient matrix, where coding coefficients corresponding to the high-order finite field in coding coefficients of the first decoding matrix form a first high-order-domain coding coefficient group, and a finite field of the first high-order-domain coding coefficient group is a finite field with a lowest order among all high-order finite fields of coding coefficients corresponding to the sixth coded data block;
coding coefficients corresponding to the high-order finite field in the coding coefficients of the second decoding matrix form a second high-order field coding coefficient group, the finite field of the second high-order field coding coefficient group is the finite field of other coding coefficients except the first high-order finite field coding coefficient group in the coding coefficients corresponding to the sixth coding data block, and the order of the second high-order field coding coefficient group is less than or equal to the order of the highest-order finite field supported by the receiving end;
the processor is specifically configured to perform a decoding operation on the second decoding matrix to generate a first decoding sub-matrix and a second decoding sub-matrix, where the first decoding sub-matrix is a zero matrix and the second decoding matrix is an identity matrix;
the processor is specifically configured to perform a decoding operation on the first decoding matrix synchronously when the second decoding matrix performs the decoding operation, and generate a third decoding sub-matrix and a fourth decoding sub-matrix, where a row number of the third decoding sub-matrix is consistent with a row number of the first decoding sub-matrix, a row number of the fourth decoding sub-matrix is consistent with a row number of the second decoding sub-matrix, or a column number of the third decoding sub-matrix is consistent with a column number of the first decoding sub-matrix, and a column number of the fourth decoding sub-matrix is consistent with a column number of the second decoding sub-matrix;
the processor is specifically configured to perform a synchronous decoding operation on the sixth encoded data block to generate data to be decoded when the first decoding matrix performs a decoding operation.
29. The network device of claim 28,
the result obtained by the first decoding operation comprises the third decoding submatrix, the fourth decoding submatrix and the data to be decoded,
the processor is specifically configured to determine, according to the fourth decoding submatrix, a fifth decoding submatrix corresponding to the fourth decoding submatrix, where the fifth decoding submatrix is composed of the coding coefficients of the high-order finite field;
the processor is specifically configured to generate a sixth decoding sub-matrix according to the fourth decoding sub-matrix and the fifth decoding sub-matrix, where a vector in the sixth decoding sub-matrix is obtained by adding a group of coding coefficients of the fifth decoding sub-matrix and a group of coding coefficients of the fourth decoding sub-matrix in a finite field corresponding to the fifth decoding sub-matrix;
the processor is specifically configured to form a fourth decoding matrix according to the third decoding sub-matrix and the sixth decoding sub-matrix;
the processor is specifically configured to perform a decoding operation on the fourth decoding matrix to generate an identity matrix;
the processor is specifically configured to perform a synchronous decoding operation on the data to be decoded when performing a decoding operation on the fourth decoding matrix, and generate the k source data blocks.
30. The network device according to any of claims 24-29,
the processor is specifically configured to form the first decoding matrix, the second decoding matrix, and a third decoding matrix according to the low-order-domain coding coefficient matrix, where coding coefficients in the third decoding matrix corresponding to the high-order finite field form a third high-order-domain coding coefficient set, a finite field of the third high-order-domain coding coefficient set is a finite field of other coding coefficients except the first high-order finite field coding coefficient set and the second high-order finite field coding coefficient set in coding coefficients corresponding to the sixth coding block, and a finite field order corresponding to the third high-order-domain coding coefficient set is higher than a highest-order finite field order supported by the receiving end;
the processor is specifically configured to perform a decoding operation on the third decoding matrix to generate a zero matrix.
31. The network device of claim 30, wherein the network device further comprises:
for k source data blocks, when the following conditions are satisfied, the processor is further configured to decode w fourth encoded packets, including:
Figure FDA0002634302590000081
wherein the content of the first and second substances,
Figure FDA0002634302590000082
is composed of
Figure FDA0002634302590000083
The matrix is a matrix of a plurality of matrices,
Figure FDA0002634302590000084
satisfy the requirement of
Figure FDA0002634302590000085
The third coding matrix is
Figure FDA0002634302590000086
And the high-order domain coding coefficient matrix is G, the high-order domain coding coefficient matrix is composed of coding coefficients of the high-order finite domain, and the low-order domain coding coefficient matrix H and w are positive integers.
32. The network device according to any of claims 24-31,
the processor is specifically configured to decode the sixth encoded data block within a highest-order finite field corresponding to the encoding coefficient of the sixth encoded data block, so that a matrix formed by the encoding coefficient of the sixth encoded data block is decoded to obtain an identity matrix;
the processor is specifically configured to perform a synchronous decoding operation on the sixth encoded data block to generate the k' source data blocks when a decoding operation is performed on a matrix formed by the encoding coefficients of the sixth encoded data block.
33. A computer-readable storage medium having program instructions which, when executed directly or indirectly, cause the method of any of claims 1-3, and/or claims 4-7, and/or claims 8-9, and/or claims 10-16 to be carried out.
34. A chip system, characterized in that the chip system comprises one or more processors and a memory, in which program instructions are stored, which program instructions, when executed in the one or more processors, cause the method according to any one of claims 1-3, and/or claims 4-7, and/or claims 8-9, and/or claims 10-16 to be implemented.
CN202010820658.2A 2020-08-14 2020-08-14 Encoding or decoding method of finite field and related device Pending CN114079475A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010820658.2A CN114079475A (en) 2020-08-14 2020-08-14 Encoding or decoding method of finite field and related device
PCT/CN2021/112380 WO2022033566A1 (en) 2020-08-14 2021-08-13 Coding or decoding method in finite field and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010820658.2A CN114079475A (en) 2020-08-14 2020-08-14 Encoding or decoding method of finite field and related device

Publications (1)

Publication Number Publication Date
CN114079475A true CN114079475A (en) 2022-02-22

Family

ID=80247732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010820658.2A Pending CN114079475A (en) 2020-08-14 2020-08-14 Encoding or decoding method of finite field and related device

Country Status (2)

Country Link
CN (1) CN114079475A (en)
WO (1) WO2022033566A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510783B (en) * 2009-03-26 2011-06-15 北京理工大学 Multi-scale fountain encode and decode method based on finite domain
CN107306140B (en) * 2016-04-25 2020-12-01 华为技术有限公司 GEL code word structure coding and decoding method, device and related equipment
US10320421B2 (en) * 2016-05-13 2019-06-11 Hyperstone Gmbh Method and device for error correction coding based on high-rate generalized concatenated codes
CN111384971B (en) * 2018-12-29 2023-09-01 泰斗微电子科技有限公司 Method, device and decoder for processing data in finite field
CN110601699B (en) * 2019-09-28 2023-03-28 西南电子技术研究所(中国电子科技集团公司第十研究所) Method for realizing code rate dynamic variable multi-element LDPC code

Also Published As

Publication number Publication date
WO2022033566A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
CN106899379B (en) Method and communication device for processing polarization code
Bresler et al. Settling the feasibility of interference alignment for the MIMO interference channel: the symmetric square case
KR20170102173A (en) Data transfer method and device
CN103348739A (en) Method and apparatus for supporting modulation-coding scheme set in very high throughput wireless systems
CN107800510B (en) Method and device for coding polarized Polar code
CN111385059B (en) Method and apparatus for polar coded modulation
CN112600569A (en) Coding method
CN113381838A (en) Data transmission method and communication device
CN112106302A (en) Reduced complexity polarization encoding and decoding
CN114826478A (en) Code modulation and demodulation decoding method and device
US20180212630A1 (en) Encoder device, decoder device, and methods thereof
CN111371478B (en) Precoding method and device and information transmission method and device
CN114079475A (en) Encoding or decoding method of finite field and related device
WO2021249080A1 (en) Coding method and device
CN115549849A (en) Data processing method and device
CN110034851B (en) Encoding method, encoding device and system
CN114157722A (en) Data transmission method and device
JP2009268093A (en) Multi-antenna apparatus, mobile station, and multi-antenna communicating system
CN109076033B (en) Radio system and decoding device for distributed compression
CN111988112A (en) Communication method and device
CN111490797B (en) Encoding method, device and equipment
WO2023125370A1 (en) Channel quality indicator calculation method and apparatus, or channel quality indicator acquisition method and apparatus, terminal and network device
WO2022257042A1 (en) Codebook reporting method, and terminal device and network device
WO2022268064A1 (en) Data transmission method and related apparatus
US20240072827A1 (en) Encoding/decoding method, communication apparatus, and system

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