Movatterモバイル変換


[0]ホーム

URL:


CN105915233B - Coding method and device and interpretation method and device - Google Patents

Coding method and device and interpretation method and device
Download PDF

Info

Publication number
CN105915233B
CN105915233BCN201610184645.4ACN201610184645ACN105915233BCN 105915233 BCN105915233 BCN 105915233BCN 201610184645 ACN201610184645 ACN 201610184645ACN 105915233 BCN105915233 BCN 105915233B
Authority
CN
China
Prior art keywords
matrix
row
unit
equal
matrices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610184645.4A
Other languages
Chinese (zh)
Other versions
CN105915233A (en
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Beijing Legend Core Technology 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 Beijing Legend Core Technology Co LtdfiledCriticalBeijing Legend Core Technology Co Ltd
Priority to CN201610184645.4ApriorityCriticalpatent/CN105915233B/en
Publication of CN105915233ApublicationCriticalpatent/CN105915233A/en
Application grantedgrantedCritical
Publication of CN105915233BpublicationCriticalpatent/CN105915233B/en
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Classifications

Landscapes

Abstract

The invention discloses a kind of coding method, the coding method includes: that information code is generated input matrix I;Obtain the n unit circle matrix that generator matrix G is decomposed;N is the positive integer more than or equal to 2;Each unit circle matrix is subjected to multiplying with the input matrix I respectively;Each multiplication result is subjected to add operation, generates the coding output matrix O of the information code.Meanwhile the invention also discloses a kind of code device, coding/decoding method and decoding apparatus.Using technical solution of the present invention, scramble time and decoding time can be saved, improves code efficiency and decoding efficiency.

Description

Encoding method and apparatus, and decoding method and apparatus
Technical Field
The present invention relates to the field of encoding and decoding technologies, and in particular, to an encoding method and apparatus, and a decoding method and apparatus.
Background
The density circulation matrix coding is a method in information coding, namely, an information code I and a generator matrix G with density circulation characteristics are coded, and a matrix O is output through operation, wherein the operation formula is as follows:
wherein,
in generating matrix G, G0~gqContains several 1 s, and the next row is a circular right shift of the previous row.
In practical application, the generator matrix G needs to be stored, and in order to reduce the storage space, it is a common method to store only the first row G of the generator matrix G0=[g0 g1 ... gq]Calculating to obtain o by using 1 clock and information code I0Then, for G0Performing cyclic right shift to calculate o1By analogy, after Q +1 clocks, the entire coding result can be obtained. However, this method requires a large number of clocks for encoding, which is time-consuming and affects encoding efficiency. Similarly, when decoding the encoded result using the encoding method, the required number of clocks is also large, which takes time, thereby affecting the decoding efficiency.
Disclosure of Invention
Accordingly, the present invention is directed to an encoding method and apparatus, and a decoding method and apparatus, which can save encoding time and decoding time and improve encoding efficiency and decoding efficiency.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
the invention provides an encoding method, which comprises the following steps:
generating an input matrix I from the information code;
acquiring n unit cyclic matrices decomposed by a generator matrix G; n is a positive integer greater than or equal to 2;
multiplying each unit cyclic matrix with the input matrix I respectively;
and adding the multiplication results to generate a coding output matrix O of the information code.
In the foregoing solution, preferably, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the method further includes:
presetting a generation matrix G;
decomposing the generator matrix G into n unit circulant matrices; wherein,
each unit cyclic matrix is a matrix of q +1 rows and q +1 columns, and in each unit cyclic matrix, only one element of the 1 st row vector is 1, and the rest elements are 0; and the (i + 1) th row vector is a vector obtained by sequentially shifting each element of the ith row vector to the right by one position; i is a positive integer, and i is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the decomposing the generator matrix G into n unit circulant matrices includes:
acquiring the number of elements 1 and the positions of the elements 1 in the first row in the generator matrix G;
determining the number of the elements 1 in the first row as the value of n;
and n unit circulant matrixes are generated based on the number of 1 elements in the first row of the generator matrix G and the position n of 1 elements.
In the foregoing solution, preferably, the n unit circulant matrices based on the number of elements 1 in the first row of the generator matrix G and the position n of the element 1 include:
determining the position of the element 1 in the first row of the n unit circulant matrices according to the position of the element 1 in the first row of the generator matrix G;
after determining the position where the element of the first row of each unit circulant matrix is 1, setting the positions of the elements other than 1 in the first row of each unit circulant matrix to 0;
and for each undetermined unit cyclic matrix, sequentially right-shifting each element of the 1 st row vector by one position to obtain a 2 nd row vector, and by analogy, sequentially right-shifting each element of the ith row vector by one position to obtain an i +1 th row vector to obtain n unit cyclic matrices.
The invention also provides a decoding method, which comprises the following steps:
splitting a received encoding output matrix O into the sum of n matrixes to be decoded; n is a positive integer greater than or equal to 2;
determining any matrix to be decoded, and searching a unit cyclic matrix corresponding to the matrix to be decoded in n unit cyclic matrices decomposed by a generated matrix G;
acquiring an inverse matrix of a unit cyclic matrix corresponding to the matrix to be decoded;
and multiplying the inverse matrix of the unit cyclic matrix corresponding to the matrix to be decoded with the matrix to be decoded to obtain a decoding output matrix I.
In the foregoing solution, preferably, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the method further includes:
acquiring a generating matrix G adopted by coding and n unit cyclic matrices decomposed by the generating matrix G;
the generator matrix G and the n unit circulant matrices into which the generator matrix G is decomposed are stored.
The present invention also provides an encoding apparatus, the apparatus comprising:
the first processor is used for generating an input matrix I from the information code;
a second processor for obtaining n unit cyclic matrices decomposed by the generator matrix G; n is a positive integer greater than or equal to 2;
the first arithmetic unit is used for multiplying each unit cyclic matrix with the input matrix I respectively;
and the second arithmetic unit is used for adding the multiplication results to generate a coding output matrix O of the information code.
In the foregoing solution, preferably, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the encoding device further includes:
a third processor to:
presetting a generation matrix G;
decomposing the generator matrix G into n unit circulant matrices; wherein,
each unit cyclic matrix is a matrix of q +1 rows and q +1 columns, and in each unit cyclic matrix, only one element of the 1 st row vector is 1, and the rest elements are 0; and the (i + 1) th row vector is a vector obtained by sequentially shifting each element of the ith row vector to the right by one position; i is a positive integer, and i is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the third processor is further configured to:
acquiring the number of elements 1 and the positions of the elements 1 in the first row in the generator matrix G;
determining the number of the elements 1 in the first row as the value of n;
and n unit circulant matrixes are generated based on the number of 1 elements in the first row of the generator matrix G and the position n of 1 elements.
In the foregoing solution, preferably, the third processor is further configured to:
determining the position of the element 1 in the first row of the n unit circulant matrices according to the position of the element 1 in the first row of the generator matrix G;
after determining the position where the element of the first row of each unit circulant matrix is 1, setting the positions of the elements other than 1 in the first row of each unit circulant matrix to 0;
and for each undetermined unit cyclic matrix, sequentially right-shifting each element of the 1 st row vector by one position to obtain a 2 nd row vector, and by analogy, sequentially right-shifting each element of the ith row vector by one position to obtain an i +1 th row vector to obtain n unit cyclic matrices.
The present invention also provides a decoding apparatus, the apparatus comprising:
the fourth processor is used for splitting the received coding output matrix O into the sum of n matrixes to be decoded; n is a positive integer greater than or equal to 2;
the fifth processor is used for determining any one matrix to be decoded and searching a unit cyclic matrix corresponding to the matrix to be decoded in n unit cyclic matrices decomposed by a generated matrix G;
a third operator for acquiring an inverse matrix of a unit cyclic matrix corresponding to the matrix to be decoded;
and the fourth arithmetic unit is used for multiplying the inverse matrix of the unit cyclic matrix corresponding to the matrix to be decoded with the matrix to be decoded to obtain a decoding output matrix I.
In the foregoing solution, preferably, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
In the foregoing solution, preferably, the apparatus further includes:
the receiver is used for acquiring a generating matrix G adopted by coding and n unit cyclic matrices decomposed by the generating matrix G;
and the memory is used for storing the generating matrix G and the n unit circulant matrixes decomposed by the generating matrix G.
The coding method and the device, and the corresponding decoding method and the decoding device provided by the invention generate an input matrix I from an information code; acquiring n unit cyclic matrices decomposed by a generator matrix G; n is a positive integer greater than or equal to 2; multiplying each unit cyclic matrix with the input matrix I respectively; and adding the multiplication results to generate a coding output matrix O of the information code. Therefore, the clock number required during encoding or decoding can be saved, and the encoding efficiency and the decoding efficiency are improved.
Drawings
FIG. 1 is a schematic diagram of a flow chart of an implementation of an encoding method according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating an implementation of a decoding method according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a decoding device according to an embodiment of the present invention.
Detailed Description
So that the manner in which the features and aspects of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings.
In the following embodiments of the encoding method and apparatus, and the decoding method and apparatus corresponding thereto, the main idea is:
the generator matrix G having the density cycle characteristic is decomposed into the sum of n unit cycle matrices, using the characteristic that the product of the information code matrix and the unit cycle matrix is a shift of the information code cycle coefficients, that is:
that is, G is submatrix 0+ … + submatrix n-1, and in the above equation, submatrix 0 isThe submatrix n-1 is
Specifically, each of the submatrices 0, … and the submatrix n-1 is a unit circulant matrix; each unit cyclic matrix is a matrix of q +1 rows and q +1 columns, and in each unit cyclic matrix, only one element of the 1 st row vector is 1, and the rest elements are 0; and the (i + 1) th row vector is a vector obtained by sequentially shifting each element of the ith row vector to the right by one position; i is a positive integer, and i is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
Generating a matrix in the generatorThe first row comprises at least two 1 and at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
The technical solution of the present invention is further elaborated below with reference to the drawings and the specific embodiments.
Example one
Fig. 1 is a schematic diagram of an implementation flow of an encoding method according to an embodiment of the present invention, applied to a first device, where in a preferred embodiment of the present invention, the encoding method mainly includes the following steps:
step 101: and generating an input matrix I by the information code.
Here, the information code refers to an original information symbol.
Generally, the information code is in an array form, and the information code in the array form is output in a matrix form, that is, an input matrix is generated.
For example, the input matrix I may be represented as
Step 102: acquiring n unit cyclic matrices decomposed by a generator matrix G; n is a positive integer greater than or equal to 2.
In a specific sub-embodiment, the obtaining n unit circulant matrices decomposed by the generator matrix G includes:
acquiring n unit cyclic matrices decomposed by a generator matrix G from a local memory; or
And acquiring n unit circulant matrixes decomposed by a generator matrix G from a second device, wherein the second device is connected with the first device.
For example, the second device may be a remote or cloud-based device, such as a cloud server.
Preferably, the generator matrix G has a density cycle characteristic; the generator matrix G is represented as:
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
Preferably, before performing step 102 or step 101, the method further comprises:
presetting a generation matrix G;
decomposing the generator matrix G into n unit circulant matrices; wherein,
each unit cyclic matrix is a matrix of q +1 rows and q +1 columns, and in each unit cyclic matrix, only one element of the 1 st row vector is 1, and the rest elements are 0; and the (i + 1) th row vector is a vector obtained by sequentially shifting each element of the ith row vector to the right by one position; i is a positive integer, and i is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
That is, n unit cyclic matrices into which the generator matrix G is decomposed are stored in advance, and thus, the n unit cyclic matrices can be obtained in time when the n unit cyclic matrices are needed; the decomposition time can be saved compared to storing only the generator matrix G.
In a specific sub-embodiment, the decomposing the generator matrix G into n unit circulant matrices may include:
acquiring the number of elements 1 and the positions of the elements 1 in the first row in the generator matrix G;
determining the number of the elements 1 in the first row as the value of n;
and n unit circulant matrixes are generated based on the number of 1 elements in the first row of the generator matrix G and the position n of 1 elements.
In a specific sub-embodiment, the n unit cyclic matrices based on the number of 1 elements in the first row of the generator matrix G and the position n of 1 elements include:
determining the position of the element 1 in the first row of the n unit circulant matrices according to the position of the element 1 in the first row of the generator matrix G;
after determining the position where the element of the first row of each unit circulant matrix is 1, setting the positions of the elements other than 1 in the first row of each unit circulant matrix to 0;
and for each undetermined unit cyclic matrix, sequentially right-shifting each element of the 1 st row vector by one position to obtain a 2 nd row vector, and by analogy, sequentially right-shifting each element of the ith row vector by one position to obtain an i +1 th row vector to obtain n unit cyclic matrices.
For example,then, the number of elements 1 in the first row is 2, so that n is 2, and the positions where the elements 1 in the first row are the first row, the second row, the third row and the fourth column; then, in the generated 2 unit circulant matrices, the position of the first row with the element of 1 is respectively the 2 nd column in the first row and the 4 th column in the first row, and the 2 unit circulant matrices are respectively set as a sub-matrix G0 and a sub-matrix G1;
then, the row vector of the first row of the submatrix G0 may be noted as [ 0100 ]]Or [ 0001 ]](ii) a The row vector of the first row of the submatrix G1 may be denoted as [ 0001 [ ]]Or [ 0100 ]](ii) a And then the characteristic according to the unit circulation matrix can be obtainedThat is to say that the first and second electrodes,
step 103: and multiplying each unit circulation matrix with the input matrix I respectively.
Also take the above example as an example, letThen it is determined that,
step 104: and adding the multiplication results to generate a coding output matrix O of the information code.
Still taking the above-described example as an example,
it should be noted that one clock is required for each multiplication operation of the unit circulant matrix and the input matrix. Therefore, if parallel computation is adopted, namely, each unit cyclic matrix is simultaneously and respectively multiplied with the input matrix, only one clock is needed to solve the coding output matrix O; if serial calculation is adopted, that is, each unit cyclic matrix is sequentially multiplied by the input matrix, n clocks are needed to solve the encoding output matrix O.
In this example, if a parallel computing method is adopted and the matrix multiplication operation is performed twice, only 1 clock is needed to obtain the encoding output matrix O; if a serial calculation method is adopted, the operations of multiplying the two matrixes are sequentially carried out, and the coding output matrix O can be solved only by 2 clocks.
In the background art, it has been mentioned that if the existing matrix coding method is adopted, Q is Q +1 clocks, and the number of clocks required by the method described in the embodiment of the present invention is 1 to n, where n ≦ Q. Table 1 shows a comparison table of the number of clocks required before and after optimization, as shown in table 1,
required clock
Before optimizationQ=q+1
After optimization1 to n; wherein n is less than or equal to q
TABLE 1
In summary, the number of clocks required by the method of the embodiment of the present invention is greatly reduced.
In this embodiment, the first device may be a device that needs to perform encoding processing.
In the embodiment of the invention, an information code is generated into an input matrix I; acquiring n unit cyclic matrices decomposed by a generator matrix G; n is a positive integer greater than or equal to 2; multiplying each unit cyclic matrix with the input matrix I respectively; adding the multiplication results to generate a coding output matrix O of the information code; therefore, the clock number required in coding can be saved, and the coding efficiency is improved.
Example two
Compared with the encoding method described in the first embodiment, the embodiment of the invention also provides a verification method for decoding the encoded result.
Fig. 2 is a schematic flow chart of an implementation of a decoding method according to an embodiment of the present invention, which is applied to a third device, and in a preferred embodiment of the present invention, the decoding method mainly includes the following steps:
step 201: splitting a received encoding output matrix O into the sum of n matrixes to be decoded; n is a positive integer greater than or equal to 2.
Preferably, before performing step 201, the method further comprises:
acquiring a generating matrix G adopted by coding and n unit cyclic matrices decomposed by the generating matrix G;
the generator matrix G and the n unit circulant matrices into which the generator matrix G is decomposed are stored.
Preferably, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
The example given in the first embodiment is taken as an example to explain, if the coding is known, the coding is adoptedWherein,output matrixThen, the output matrix O is split into two matrices to be decoded, i.e.
Step 202: and determining any matrix to be decoded, and searching a unit cyclic matrix corresponding to the matrix to be decoded in n unit cyclic matrices decomposed by the generator matrix G.
Also taking the above example as an example, assume that the selected matrix to be decoded isFinds out the unit cyclic matrix corresponding to the matrix to be decoded as
Step 203: acquiring an inverse matrix of a unit cyclic matrix corresponding to the matrix to be decoded;
in a specific embodiment, the obtaining an inverse matrix of a unit circulant matrix corresponding to the matrix to be decoded may include:
and performing inverse operation on the unit cyclic matrix corresponding to the matrix to be decoded.
In another specific embodiment, the obtaining an inverse matrix of a unit cyclic matrix corresponding to the matrix to be decoded includes: and searching a local memory or acquiring an inverse matrix corresponding to the unit circulant matrix from a fourth device. Wherein the fourth device is a device connected to the third device. For example, the fourth device may be a remote or cloud-side device, such as a cloud server.
That is, the unit circulation matrix and the inverse matrix corresponding to the unit circulation matrix may be previously stored in the local memory or the fourth device.
Therefore, the time for performing the inverse matrix operation can be saved.
Also in the above example, the inverse operation of G0 is obtained by the inverse operation method, and therefore
Step 204: and multiplying the inverse matrix of the unit cyclic matrix corresponding to the matrix to be decoded with the matrix to be decoded to obtain a decoding output matrix I.
Still taking the above-described example as an example,thus obtaining the original decoding output matrix I.
In summary, the number of clocks required by the method of the embodiment of the present invention is greatly reduced.
In this embodiment, the third device may be a device that needs to perform decoding processing.
In the embodiment of the invention, a received encoding output matrix O is split into the sum of n matrixes to be decoded; determining any matrix to be decoded, and searching a unit cyclic matrix corresponding to the matrix to be decoded in n unit cyclic matrices decomposed by a generated matrix G; performing inverse operation on the unit cyclic matrix corresponding to the matrix to be decoded; multiplying the inverse matrix of the unit cyclic matrix corresponding to the matrix to be decoded with the matrix to be decoded to obtain a decoding output matrix I; therefore, the clock number required in decoding can be saved, and the decoding efficiency is improved.
EXAMPLE III
Fig. 3 is a schematic structural diagram of an encoding apparatus according to an embodiment of the present invention, and as shown in fig. 3, the encoding apparatus includes:
a first processor 31 for generating an input matrix I from the information code;
a second processor 32, configured to obtain n unit circulant matrices decomposed by the generator matrix G; n is a positive integer greater than or equal to 2;
a first operator 33 for multiplying each unit circulant matrix by the input matrix I;
and a second arithmetic unit 34 for adding the multiplication results to generate an encoded output matrix O of the information code.
In the above scheme, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
Preferably, the encoding apparatus further includes:
a third processor 35 for:
presetting a generation matrix G;
decomposing the generator matrix G into n unit circulant matrices; wherein,
each unit cyclic matrix is a matrix of q +1 rows and q +1 columns, and in each unit cyclic matrix, only one element of the 1 st row vector is 1, and the rest elements are 0; and the (i + 1) th row vector is a vector obtained by sequentially shifting each element of the ith row vector to the right by one position; i is a positive integer, and i is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
Preferably, the third processor 35 is further configured to:
acquiring the number of elements 1 and the positions of the elements 1 in the first row in the generator matrix G;
determining the number of the elements 1 in the first row as the value of n;
and n unit circulant matrixes are generated based on the number of 1 elements in the first row of the generator matrix G and the position n of 1 elements.
Preferably, the third processor 35 is further configured to:
determining the position of the element 1 in the first row of the n unit circulant matrices according to the position of the element 1 in the first row of the generator matrix G;
after determining the position where the element of the first row of each unit circulant matrix is 1, setting the positions of the elements other than 1 in the first row of each unit circulant matrix to 0;
and for each undetermined unit cyclic matrix, sequentially right-shifting each element of the 1 st row vector by one position to obtain a 2 nd row vector, and by analogy, sequentially right-shifting each element of the ith row vector by one position to obtain an i +1 th row vector to obtain n unit cyclic matrices.
The first processor 31, the second processor 32, the first arithmetic unit 33, the second arithmetic unit 34, and the third processor 35 may be integrated to correspond to the same processor, or correspond to different processors, respectively, where the processor includes executable codes, the executable codes are stored in a storage medium, the processor may be connected to the storage medium through a communication interface such as a bus, and when the corresponding function of each specific module is executed, the executable codes are read from the storage medium and executed. The portion of the storage medium used to store the executable code is preferably a non-transitory storage medium.
It should be understood by those skilled in the art that the functions of each component in the encoding apparatus according to the embodiment of the present invention may be realized by an analog circuit that implements the functions described in the embodiment of the present invention, or by running software that executes the functions described in the embodiment of the present invention on an intelligent terminal.
The encoding device of the embodiment can save the number of clocks required during encoding and improve the encoding efficiency.
Example four
Fig. 4 is a schematic structural diagram of a decoding apparatus according to an embodiment of the present invention, and as shown in fig. 4, the decoding apparatus includes:
a fourth processor 41, configured to split the received encoded output matrix O into a sum of n to-be-decoded matrices; n is a positive integer greater than or equal to 2;
a fifth processor 42, configured to determine any one to-be-decoded matrix, and search a unit cyclic matrix corresponding to the to-be-decoded matrix from n unit cyclic matrices decomposed by the generator matrix G;
a third operator 43 for obtaining an inverse matrix of a unit cyclic matrix corresponding to the matrix to be decoded;
and a fourth operator 44, configured to perform multiplication on the inverse matrix of the unit cyclic matrix corresponding to the matrix to be decoded and the matrix to be decoded to obtain a decoding output matrix I.
In an embodiment, the third arithmetic unit 43 is specifically configured to:
and performing inverse operation on the unit cyclic matrix corresponding to the matrix to be decoded.
In another embodiment, the third arithmetic unit 43 is specifically configured to:
and searching a local memory or acquiring an inverse matrix corresponding to the unit circulant matrix from a fourth device. Wherein the fourth device is a device connected to the third device. For example, the fourth device may be a remote or cloud-side device, such as a cloud server.
In the above scheme, the generator matrix G has a density cycle characteristic;
wherein,
in the generator matrix G, the first row includes at least two 1's, at least one 0; and row j +1 is the cycle right shift of row j; j is a positive integer, and j is more than or equal to 1 and less than or equal to q; q is a positive integer greater than or equal to 2.
Preferably, the decoding apparatus further comprises:
a receiver 45, configured to obtain a generator matrix G used for encoding and n unit circulant matrices into which the generator matrix G is decomposed;
and a memory 46 for storing the generator matrix G and the n unit circulant matrices into which the generator matrix G is decomposed.
The fourth processor 41, the fifth processor 42, the third arithmetic unit 43, the fourth arithmetic unit 44, the receiver 45, and the memory 46 may be integrated to correspond to the same processor, or correspond to different processors, respectively, where the processor includes executable codes, the executable codes are stored in a storage medium, the processor may be connected to the storage medium through a communication interface such as a bus, and the executable codes are read from the storage medium and executed when the corresponding functions of the specific modules are executed. The portion of the storage medium used to store the executable code is preferably a non-transitory storage medium.
It should be understood by those skilled in the art that the functions of each device in the decoding apparatus according to the embodiment of the present invention may be realized by an analog circuit that implements the functions described in the embodiment of the present invention, or by running software that implements the functions described in the embodiment of the present invention on an intelligent terminal.
The decoding device of the embodiment can save the number of clocks required during decoding and improve the decoding efficiency.
The embodiment of the present invention further describes an encoding and decoding apparatus, wherein the encoding and decoding apparatus includes an encoding device shown in fig. 3 and a decoding device shown in fig. 4, which are not described herein again.
In the embodiments provided in the present invention, it should be understood that the disclosed method, apparatus and electronic device may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, 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, all the functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: a mobile storage device, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Alternatively, the integrated unit according to the embodiment of the present invention may be stored in a computer-readable storage medium if it is implemented in the form of a software functional module and sold or used as a separate product. Based on such understanding, the technical solutions of the embodiments of the present invention may be essentially implemented or a part contributing to the prior art may be embodied in the form of a software product, which is stored in a storage medium and includes several 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 methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a removable storage device, a ROM, a RAM, a magnetic or optical disk, or various other media that can store program code.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.

Claims (14)

CN201610184645.4A2016-03-282016-03-28Coding method and device and interpretation method and deviceActiveCN105915233B (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201610184645.4ACN105915233B (en)2016-03-282016-03-28Coding method and device and interpretation method and device

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201610184645.4ACN105915233B (en)2016-03-282016-03-28Coding method and device and interpretation method and device

Publications (2)

Publication NumberPublication Date
CN105915233A CN105915233A (en)2016-08-31
CN105915233Btrue CN105915233B (en)2019-05-31

Family

ID=56745059

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201610184645.4AActiveCN105915233B (en)2016-03-282016-03-28Coding method and device and interpretation method and device

Country Status (1)

CountryLink
CN (1)CN105915233B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN110990776B (en)*2019-11-292023-12-29深圳大学Coding distributed computing method, device, computer equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102916706A (en)*2012-11-212013-02-06苏州威士达信息科技有限公司Highly parallel QC-LDPC (Quasic-Low Density Parity Check) encoder and encoding method in CMMB (China Mobile Multimedia Broadcasting)
CN103152056A (en)*2013-01-302013-06-12北京大学Quasi-cyclic low density parity check code (LDPC) construction method and device based on protographs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN102916706A (en)*2012-11-212013-02-06苏州威士达信息科技有限公司Highly parallel QC-LDPC (Quasic-Low Density Parity Check) encoder and encoding method in CMMB (China Mobile Multimedia Broadcasting)
CN103152056A (en)*2013-01-302013-06-12北京大学Quasi-cyclic low density parity check code (LDPC) construction method and device based on protographs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
高速LDPC码编译码器的研究与实现;庄梦溪;《中国优秀硕士学位论文全文数据库》;20130415(第4期);全文
高速LDPC码编译码器的研究与实现;庄梦溪;《中国优秀硕士学位论文全文数据库》;20130415(第4期);第40-44页

Also Published As

Publication numberPublication date
CN105915233A (en)2016-08-31

Similar Documents

PublicationPublication DateTitle
US10635965B2 (en)Neural network convolution computation method and device, and computer-readable storage medium
FI3761235T3 (en) TRANSPOTION OF NEURAL NETWORK MATRICES IN HARDWARE
US9450612B2 (en)Encoding method and system for quasi-cyclic low-density parity-check code
CN112199707A (en)Data processing method, device and equipment in homomorphic encryption
EP4236129A1 (en)Communication data processing method and apparatus, device, and storage medium
CN110109646B (en)Data processing method, data processing device, multiplier-adder and storage medium
CN104216866B (en)A kind of data processing equipment
CN108960511B (en) A kind of wind speed prediction method and related device
CN111198670B (en) Method, circuit and SOC for performing matrix multiplication
CN105915233B (en)Coding method and device and interpretation method and device
JP2016213730A (en)Decoder, decryption method, and program
CN108347250B (en)Fast coding method and apparatus suitable for small amount of redundant Reed-Solomon codes
CN113918876B (en) Deconvolution calculation method, hardware accelerator, device and readable storage medium
CN110119265A (en)Multiplication implementation method, device, computer storage medium and electronic equipment
US10171109B2 (en)Fast encoding method and device for Reed-Solomon codes with a small number of redundancies
RU2400813C2 (en)Neutron network for main division of modular numbers
CN114329330A (en)Data processing device, method, chip, computer equipment and storage medium
JP5927323B1 (en) Matrix action device, matrix action method, and program
CN113805846A (en)Modulo arithmetic method, circuit, electronic device and computer readable storage medium
CN112953563A (en)Method and device for realizing high-speed parallel signal processing in Galois field encoder
KR101964854B1 (en) Method and apparatus for generating numeric authentication code
US9473176B2 (en)Implementation of log and inverse operation in a Galois Field
KR20160057590A (en)Elimination Method for Common Sub-Expression And Filter Using the Method
KR101626743B1 (en)Multiplier and multiplication method using Montgomery algorithm over finite fields
Bodnarchuk et al.Combinatorial approach to the calculation of projection coefficients for the simplest Gaussian-Volterra process

Legal Events

DateCodeTitleDescription
C06Publication
PB01Publication
C10Entry into substantive examination
SE01Entry into force of request for substantive examination
TA01Transfer of patent application right
TA01Transfer of patent application right

Effective date of registration:20170208

Address after:Section fourteen economic and Technological Development Zone of Beijing city 100176 Street No. 99 building 33 building D No. 2226

Applicant after:Beijing legend core technology Co., Ltd.

Address before:100085 Haidian District West Road, Beijing, No. 6

Applicant before:Lenovo (Beijing) Co., Ltd.

GR01Patent grant
GR01Patent grant
TR01Transfer of patent right
TR01Transfer of patent right

Effective date of registration:20190814

Address after:518067 Dongjiaotou Workshop D24/F-02, Houhai Avenue, Shekou Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after:Shenzhen Yi Lian Information System Co., Ltd.

Address before:Section fourteen economic and Technological Development Zone of Beijing city 100176 Street No. 99 building 33 building D No. 2226

Patentee before:Beijing legend core technology Co., Ltd.


[8]ページ先頭

©2009-2025 Movatter.jp