A storage channel expansion coding method, system and related device
Through the improved LZW algorithm and Base64 encoding algorithm, combined with RaptorQ erasure coding and other technologies, the problems of low information density and high sequencing error rate in DNA data storage are solved, and an efficient and reliable DNA encoding method is achieved, providing a meaningful reference for actual digital storage.
Patent Information
- Application Number
- CN202111136319.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-27
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2041-09-27
Smart Images

Figure CN114254748B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data coding, and in particular to an extended coding method, system and related device for a storage channel. Background Art
[0002] The capacity of current mainstream storage media can no longer meet the exponentially growing demand for data storage. The storage space of traditional storage media, such as magnetic media, optical media, and solid-state media, is about to reach the physical processing limit. It has become a top priority to develop a new storage medium with low power consumption, high density, and long-lasting storage. As a carrier molecule of genetic information, DNA has the advantages of long life, high information density, low energy consumption, and low maintenance cost. It is a highly potential data storage medium. However, DNA data storage is currently limited to four natural nucleotides A, T, C, and G, and the lack of basic storage units limits the encoding density. Shuichihoshika et al. developed a DNA and RNA-like system composed of eight nucleotide "letters" A, T, C, G, P, Z, S, and B, which form four orthogonal pairs. Expanding the basic unit of DNA data storage through non-natural nucleotides is an effective new way to further improve the theoretical storage density of DNA.
[0003] The density and reliability of DNA data storage are mainly affected by the inherent biochemical characteristics and technical limitations of DNA synthesis and sequencing, as well as the probability distribution of nucleotides. Within an acceptable error range, the ideal DNA synthesis length is about 250bp, so large-scale data can only be encoded by thousands of short DNA chains. Therefore, a large number of redundant bases need to be added to realize the addressing function to reconstruct the data encoded in the DNA chain. Another major constraint is the random errors and burst errors caused by the absence of DNA molecules and internal errors (insertions, deletions, substitutions) in the DNA data storage channel. In addition, the imbalance between homopolymers and GC content increases the error and bias read rate in sequencing, which is an important factor restricting the reliability of DNA data storage. Many scholars are committed to realizing GC-content controllable and homopolymer-free nucleotide coding sequences through the design of coding algorithms. However, the ideal coding density is often not achieved when controlling homopolymers and GC content. Summary of the invention
[0004] The purpose of the present application is to provide an extended coding method, an extended coding system, a computer-readable storage medium and an electronic device for a storage channel, which can effectively control the base content and repeated base subsequences summarized in the DNA coding process.
[0005] In order to solve the above technical problems, the present application provides an extended coding method for a storage channel, and the specific technical solution is as follows:
[0006] Get binary data;
[0007] Decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code to obtain independent data source blocks;
[0008] Encoding the source symbol sequence in the independent data source block by using a preset encoder to obtain a coded sequence that does not contain homopolymers;
[0009] Automatic indexing is used to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence, and the primary data source block index and the secondary source symbol sequence index are compounded in a DNA coding symbol sequence to obtain a base index;
[0010] The DNA encoding symbol sequence is mapped into a binary symbol sequence, and then reversely mapped into a DNA sequence after adding controlled redundancy through RS error correction coding.
[0011] Optionally, after obtaining the independent data source block, it also includes:
[0012] The independent data source block is pre-coded to generate an intermediate symbol and a redundant repair symbol corresponding to the intermediate symbol; the redundant repair symbol is used to recover the lost coding symbol sequence.
[0013] Optionally, if the preset encoder is an LZW algorithm encoder, when the preset encoder is used to encode the source symbol sequence in the independent data source block, the method further includes:
[0014] The interval range of the LZW codeword is controlled by dynamically expanding the dictionary capacity, and a constraint mapping table is designed with the LZW codeword as an index.
[0015] Optionally, if the preset encoder is an encoder based on an improved Base64 algorithm, when the source symbol sequence in the independent data source block is encoded by using the preset encoder, the method further includes:
[0016] The source symbol sequence is encoded using a balanced code.
[0017] Optionally, designing a constraint mapping table with the LZW codeword as an index includes:
[0018] The LZW codeword is used as an index and a pseudo-random mapping correspondence is adopted to design a constraint mapping table.
[0019] The present application also provides an extended coding system for a storage channel, comprising:
[0020] Acquisition module, used to obtain binary data;
[0021] A decomposition module, used for decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code, and obtaining independent data source blocks;
[0022] An encoding module, used for encoding the source symbol sequence in the independent data source block by using a preset encoder to obtain an encoding sequence that does not contain homopolymers;
[0023] An index generation module, used to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence by using automatic indexing, and to compound the primary data source block index and the secondary source symbol sequence index in a DNA coding symbol sequence to obtain a base index;
[0024] A mapping module is used to map the DNA encoding symbol sequence into a binary symbol sequence, and then inversely map it into a DNA sequence after adding controlled redundancy through RS error correction coding.
[0025] Optionally, after obtaining the independent data source block, it also includes:
[0026] A precoding module is used to precode the independent data source block to generate an intermediate symbol and a redundant repair symbol corresponding to the intermediate symbol; the redundant repair symbol is used to recover the lost coding symbol sequence.
[0027] Optionally, if the preset encoder is an LZW algorithm encoder, the method further includes:
[0028] The dynamically extensible module is used to control the interval range of the LZW codeword by dynamically expanding the dictionary capacity, and to design a constraint mapping table using the LZW codeword as an index.
[0029] The present application also provides a computer-readable storage medium having a computer program stored thereon, and the computer program implements the steps of the above-mentioned method when executed by a processor.
[0030] The present application also provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps of the above-mentioned method when calling the computer program in the memory.
[0031] The present application provides an extended coding method for a storage channel, comprising: acquiring binary data; decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code to obtain independent data source blocks; encoding a source symbol sequence in the independent data source blocks using a preset encoder to obtain a coding sequence that does not contain homopolymers; using automatic indexing to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence, and compounding the primary data source block index and the secondary source symbol sequence index in a DNA coding symbol sequence to obtain a base index; mapping the DNA coding symbol sequence to a binary symbol sequence, and adding controlled redundancy through RS error correction coding and then inversely mapping it to a DNA sequence.
[0032] This application breaks through the theoretical information density of 2 bits / Base of DNA data encoding based on natural bases as the basic storage unit. On this basis, the GC base content and repeated base subsequences can be effectively controlled based on the improved LZW algorithm and Base64 encoding algorithm respectively, and integrates RaptorQ erasure code, arithmetic coding, automatic index generation algorithm and RS error correction and other functions, realizing an efficient, reliable and practical DNA encoding method, providing a meaningful reference for the application of artificial bases in actual digital storage, and has the potential to expand to other storage media.
[0033] The present application also provides a storage channel expansion coding system, a computer-readable storage medium and an electronic device, which have the above-mentioned beneficial effects and are not described in detail here. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.
[0035] Figure 1 A flowchart of an extended coding method for a storage channel provided in an embodiment of the present application;
[0036] Figure 2 A schematic diagram of DNA data encoding based on the coexistence of natural and artificial bases;
[0037] Figure 3 A schematic diagram of LZW elimination of homopolymers and control of specific base content provided in the examples of the present application;
[0038] Figure 4 A schematic diagram of the improved Base64 encoding provided in the embodiment of the present application;
[0039] Figure 5 A schematic diagram of improved Base64 inverse encoding provided in an embodiment of the present application;
[0040] Figure 6 The Base64 code table provided in the embodiment of the present application;
[0041] Figure 7 A balance coding table provided in the embodiment of the present application;
[0042] Figure 8 A histogram of 4-, 6-, and 8-base encoding density of RALR and RABR systems of text, pictures, and videos without symbol level compression provided in the embodiments of the present application;
[0043] Fig. 9 A schematic diagram of the structure of an extended coding system for a storage channel provided in an embodiment of the present application. DETAILED DESCRIPTION
[0044] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0045] This application aims to expand the basic storage primitives of DNA to improve the theoretical coding density and provide a reliable high-density coding scheme for the application of artificial bases in actual data storage. On this basis, this application can also effectively control the GC base content and repeated base subsequences based on the improved LZW algorithm and Base64 encoding algorithm, and develop two sets of efficient and reliable practical DNA coding prototype systems that integrate RaptorQ erasure code, arithmetic coding, automatic index generation algorithm and RS error correction and other functional modules, and then realize 4-, 6-, 8-base coding of text, pictures and videos based on the two systems.
[0046] Please refer to Figure 1 , Figure 1 A flowchart of an extended coding method for a storage channel provided in an embodiment of the present application, the method comprising:
[0047] S101: Obtain binary data;
[0048] S102: Decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code to obtain independent data source blocks;
[0049] S103: Encode the source symbol sequence in the independent data source block by using a preset encoder to obtain a coding sequence that does not contain homopolymers;
[0050] S104: using automatic indexing to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence, and compounding the primary data source block index and the secondary source symbol sequence index in the DNA coding symbol sequence to obtain a base index;
[0051] S105: Map the DNA encoding symbol sequence into a binary symbol sequence, add controlled redundancy through RS error correction coding, and then reversely map it into a DNA sequence.
[0052] First, it is necessary to obtain the binary data to be encoded. Of course, if the obtained data is not directly in binary form, it can be converted into binary data before executing the encoding process of this embodiment.
[0053] Since the synthesis length of a single DNA strand is limited within an acceptable error range, large-scale data must be segmented to control the length of the coding sequence. Under the requirements of erasure redundancy and minimum coding padding data, the binary data is segmented into binary source blocks consisting of source symbol sequences. There is no limit on the minimum number of decompositions in the decomposition process. Regardless of the number of decompositions or decomposition parameters used, it should be ensured that the resulting binary source blocks can meet the synthesis length requirements of the single DNA strand.
[0054] As a preferred implementation, after obtaining the binary source block, the independent data source block can be pre-encoded to generate intermediate symbols and redundant repair symbols corresponding to the intermediate symbols. The redundant repair symbols are used to recover the lost coding symbol sequence. Specifically, the RaptorQ system code can be used to encode and generate repair symbols with independent data source blocks as units to recover the loss of the entire DNA molecule. The number and size of the repair symbols are important factors affecting the coding density.
[0055] Arithmetic coding is used to perform data compression at the coded symbol level to reduce redundancy in each RaptorQ coded symbol. As more and more coded symbol sequence elements are received, the arithmetic encoder gradually reduces the size of the subinterval where the arithmetic codeword label is located until the last element. The binary representation of the midpoint of the subinterval corresponding to the last element is the arithmetic codeword of the sequence.
[0056] There is no limitation on how to use the preset encoder to encode the source symbol sequence in the independent data source block. Preferably, this embodiment provides two different encoding methods:
[0057] If the preset encoder is an LZW algorithm encoder, when the preset encoder is used to encode the source symbol sequence in the independent data source block, the method further includes:
[0058] The range of LZW codewords is controlled by dynamically expanding the dictionary capacity, and a constraint mapping table is designed with LZW codewords as indexes. Specifically, the constraint mapping table can be designed with LZW codewords as indexes and pseudo-random mapping correspondences. The function of the constraint mapping table is to map LZW codewords one by one to base pairs consisting of two bases, and then map the LZW codeword sequence to a DNA sequence without homopolymers.
[0059] If the preset encoder is an encoder based on the improved Base64 algorithm, when the preset encoder is used to encode the source symbol sequence in the independent data source block, the source symbol sequence can be encoded using a balanced code.
[0060] Eliminating homopolymers and controlling the content of specific bases are important means to reduce errors in current DNA synthesis and sequencing. The content of specific bases beyond a certain range will cause sequencing bias. However, there is no preference parameter for high-throughput sequencing based on large-scale data storage involving the coexistence of natural and artificial nucleotides. It is assumed that GC content is still a factor that causes sequencing bias in 6-, 8-base-encoded DNA data storage. According to the source coding theory, bases are distributed with equal probability, which is conducive to improving the coding density. Therefore, the content of specific nucleotides is controlled at approximately 1 / N, where N represents the number of nucleotide types. The base content can be fine-tuned according to the synthesis and sequencing preferences of specific DNA data storage with the coexistence of natural bases and artificial bases.
[0061] If the improved LZW dictionary compression algorithm is used, homopolymers can be eliminated and the GC base content can be controlled by controlling the number of items in the dynamically extended dictionary and the mapping rules between LZW codewords and nucleotides. If the improved Base64 encoding algorithm is used, the GC base content can be controlled and the probability of homopolymer generation can be significantly reduced by introducing 64 8-bit balanced codes with 0 and 1 being 4 bits each and code reshaping. The pseudo-random mapping correspondence adopted in the design of the mapping table between the improved Base64 encoding algorithm and the LZW algorithm can effectively promote the bases to tend to an equiprobable distribution.
[0062] Given that the irregular distribution of DNA chains cannot support structured addressing, the interpretation of DNA sequences for coded data must rely on reasonable index design. An automatic index generation algorithm is used to generate homopolymer-free composite base indexes based on the number of data source blocks and the number of source symbols, and different composite base indexes have larger Hamming distances.
[0063] At the level of the coding symbol sequence, the RS code is used to generate check redundancy to correct base substitutions and misalignments in the DNA molecule. The codeword generator polynomial is calculated in the Galois field, and then the information polynomial is multiplied by the generator polynomial to obtain the RS codeword polynomial to obtain the corresponding RS coding symbol sequence. Finally, the RS coding symbol is mapped to the corresponding DNA coding symbol sequence. According to the number of data source blocks and the number of source symbols, an automatic index generation algorithm is used to generate a composite base index without homopolymers and integrated into the DNA coding sequence. The DNA coding symbol converted into binary form by the RS encoder is added with controllable redundancy inside the symbol to correct base errors in the DNA chain. The binary form of the DNA coding symbol sequence is mapped to obtain the final DNA coding sequence.
[0064] The embodiments of the present application break through the theoretical information density of 2 bits / Base of DNA data encoding based on natural bases as the basic storage unit. On this basis, the GC base content and repeated base subsequences can be effectively controlled based on the improved LZW algorithm and the Base64 encoding algorithm respectively, and the RaptorQ erasure code, arithmetic coding, automatic index generation algorithm and RS error correction functions are integrated to realize an efficient, reliable and practical DNA encoding method, which provides a meaningful reference for the application of artificial bases in actual digital storage, and has the potential to be expanded to other storage media.
[0065] The present application is further described below with reference to the accompanying drawings:
[0066] This application Figure 2 Schematic diagram of DNA data encoding based on the coexistence of natural and artificial bases.
[0067] Among them, 2 is to form 4 pairs of orthogonal pairs of octanucleotide "letters" A, T, C, G, P, Z, S, B to form four orthogonal pairs. After the coded symbol sequence level data compression, the 8-base coding density of the three source files of text, picture and video based on the RABR system can reach 4.63 bits / Base, 3.88 bits / Base, and 3.27 bits / Base respectively. The encoding process of the RALR and RABR prototype systems includes I) dividing the digital file into binary sequence source blocks composed of source symbols, and the RaptorQ encoder encodes the independent data source blocks as units. After pre-coding, the intermediate symbols are generated, and then the redundant repair symbols are generated from the intermediate symbols to restore the lost DNA chain of the entire coded data; II) arithmetic compression is performed on the source symbol sequence as an independent unit to reduce the information redundancy in the RaptorQ coded symbol sequence. IV) The arithmetic symbols are encoded using the improved Base64 encoder (RABR) or LZW encoder (RALR) to obtain DNA coding symbols with homopolymers eliminated and a GC base content of about 1 / N, where N represents the number of types of coded bases.
[0068] This application Figure 3 Schematic diagram of eliminating homopolymers and controlling specific base content for LZW.
[0069] in, Figure 3 Taking 8-base coding as an example, the principle of eliminating homopolymers and controlling the content of specific bases is demonstrated, including the following steps:
[0070] 1) The eight single bases in the initial LZW dictionary are combined in pairs to form 64 base pairs, and then the repeated base pairs are removed to eliminate homopolymers. The remaining 56 non-repeated base pairs form the LZW codeword and base sequence mapping table.
[0071] 2) According to the number of items in the mapping table, the number of items in the dynamic extended dictionary formed by the LZW encoding process does not exceed 48 items, that is, the number of items in the mapping table minus the number of items in the LZW initial dictionary, and the LZW codeword is limited to the interval [0,55].
[0072] 3) Mapping the LZW codewords into base sequences according to the mapping table can eliminate homopolymers. Random combinations of symbols in the mapping table cannot produce three consecutive bases.
[0073] 4) In LZW coding, since the probability of generating a small-value codeword is greater than that of generating a large-value codeword, by adjusting the correspondence between different codewords and nucleotide pairs in the mapping table, the content of each base can be qualitatively controlled to be around 1 / N. In addition, the mapping relationship between LZW codewords and base sequences based on pseudo-randomization design can effectively control the base content to tend to 1 / N, where N is the number of base types.
[0074] This application Figure 4-Figure 7 Schematic diagram of improved 4-base Base64 encoding and decoding.
[0075] in, Figure 4 The improved Base64 encoding diagram includes: I) every 3 bytes of binary data are re-divided into 4 groups of 6 bits. Two "0"s are filled in front of each group of 6 bits to form a new 8-bit binary data. Then, the 8-bit binary data is converted into a Base64 encoding symbol sequence according to the decimal number represented and the mapping table containing 64 printable characters. II) Encoding reshaping and balancing. The Base64 encoding symbol is divided into a group according to every 7 characters. In each group, the 1st, 3rd and 5th characters are divided according to the customized balanced encoding table ( Figure 7 ) is converted into an 8-bit binary code, where each 8-bit balanced code contains four "1"s and four "0"s. The second, fourth, sixth, and seventh characters in each group are encoded according to the Base64 code table ( Figure 6 ) is converted into a 6-bit binary code. The 7th character is divided into 3 groups of 2 bits. Each group of 2 bits is added to the 6-bit binary corresponding to the 2nd, 4th, and 6th characters to re-compose an 8-bit binary. The 8-bit binary corresponding to the 2nd, 4th, and 6th bits is respectively combined with the 8-bit balanced code corresponding to the 1st, 3rd, and 5th Base64 encoding symbols to form 2 rows and 8 columns of binary data. Each column of these two rows is mapped into a DNA sequence according to the {00: A, T: 10, C: 01, G: 11} mapping rule. According to the mapping rule, "C" or "G" is mapped only when "1" appears in the balanced code, and the probability of "1" appearing in the balanced code is about 50%.
[0076] This application Figure 8Summary histograms of 4-, 6-, and 8-base encoding densities for RALR and RABR systems for text, images, and videos without symbol-level compression.
[0077] Among them, Figure a and Figure b are the RALR and RABR coding densities of text with and without erasure correction and error correction redundancy, respectively; Figure c and Figure d are the RALR and RABR coding densities of pictures with and without erasure correction and error correction redundancy; Figure e and Figure f are the RALR and RABR coding densities of videos with and without erasure correction and error correction redundancy;
[0078] This application integrates two practical high-density reliable DNA data encoding prototype systems for DNA storage channels where natural and artificial bases coexist, and realizes 4-, 6- and 8-base DNA data encoding for three file types: text, pictures and videos. The two systems RALR and RABR designed in this application achieve a high decoding success rate and reliability through RaptorQ code, as well as the maximum theoretical fault tolerance of RaptorQ and RS coding capabilities. In addition, improved Base64 coding and Lempel-Ziv-Welch (LZW) coding are used to eliminate homopolymers and control the specific nucleotide content under the new coding mode, respectively. The pseudo-random mapping correspondence relationship between the Base64 coding algorithm and the LZW algorithm in the mapping table design process can effectively promote the bases to tend to an equiprobable distribution, effectively reduce the probability of DNA sequencing errors, and achieve reliable storage and maintain a high coding efficiency with less added error correction redundancy. For the three video files of text, picture and video, the 4-, 6- and 8-base coding densities of the RALR system and the RABR system are 2.50 bits / base, 3.11 bits / base, 3.41 bits / base and 2.97 bits / base, 4.01 bits / base, 4.63 bits / base respectively. With the addition of a large amount of controllable erasure and error correction redundancy, the coding density of the RALR system based on 4-, 6- and 8-base coding can still reach 2.17 bits / base, 2.70 bits / base and 2.97 bits / base, and the coding density of the RABR system can still reach 2.58 bits / base, 3.40 bits / base and 3.97 bits / base.
[0079] An extended coding system for a storage channel provided in an embodiment of the present application is introduced below. The extended coding system described below and the extended coding method for a storage channel described above can refer to each other.
[0080] See also Fig. 9 , Fig. 9This is a flow chart of an extended coding method for a storage channel provided in an embodiment of the present application. The present application also provides an extended coding system for a storage channel, including:
[0081] An acquisition module 100 is used to acquire binary data;
[0082] A decomposition module 200 is used to decompose the binary data into binary source blocks, and encode the binary source blocks using a preset code to obtain independent data source blocks;
[0083] The encoding module 300 is used to encode the source symbol sequence in the independent data source block by using a preset encoder to obtain a coding sequence that does not contain homopolymers;
[0084] An index generation module 400 is used to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence by using automatic indexing, and to compound the primary data source block index and the secondary source symbol sequence index in a DNA coding symbol sequence to obtain a base index;
[0085] The mapping module 500 is used to map the DNA encoding symbol sequence into a binary symbol sequence, and then inversely map it into a DNA sequence after adding controlled redundancy through RS error correction coding.
[0086] Based on the above embodiments, as a preferred embodiment, it also includes:
[0087] A precoding module is used to precode the independent data source block to generate an intermediate symbol and a redundant repair symbol corresponding to the intermediate symbol; the redundant repair symbol is used to recover the lost coding symbol sequence.
[0088] Based on the above embodiment, as a preferred embodiment, if the preset encoder is an LZW algorithm encoder, it also includes:
[0089] The dynamically extensible module is used to control the interval range of the LZW codeword by dynamically expanding the dictionary capacity, and to design a constraint mapping table using the LZW codeword as an index.
[0090] The present application also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed, the steps provided in the above embodiment can be implemented. The storage medium may include: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.
[0091] The present application also provides an electronic device, which may include a memory and a processor, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, the steps provided in the above embodiment may be implemented. Of course, the electronic device may also include various network interfaces, power supplies and other components.
[0092] The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. For the system provided in the embodiment, since it corresponds to the method provided in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.
[0093] Specific examples are used herein to illustrate the principles and implementation methods of the present application, and the description of the above embodiments is only used to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
[0094] It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.
Claims
1. A method for extending a storage channel, characterized in that: include: Get binary data; Decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code to obtain independent data source blocks; Encoding the source symbol sequence in the independent data source block by using a preset encoder to obtain a coded sequence that does not contain homopolymers; Automatic indexing is used to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence, and the primary data source block index and the secondary source symbol sequence index are compounded in a DNA coding symbol sequence to obtain a base index; The DNA encoding symbol sequence is mapped into a binary symbol sequence, and then reversely mapped into a DNA sequence after adding controlled redundancy through RS error correction coding.
2. The extended coding method according to claim 1, characterized in that: After getting the independent data source block, it also includes: The independent data source block is pre-coded to generate an intermediate symbol and a redundant repair symbol corresponding to the intermediate symbol; the redundant repair symbol is used to recover the lost coding symbol sequence.
3. The extended coding method according to claim 1, characterized in that: If the preset encoder is an LZW algorithm encoder, when the preset encoder is used to encode the source symbol sequence in the independent data source block, the method further includes: The interval range of the LZW codeword is controlled by dynamically expanding the dictionary capacity, and a constraint mapping table is designed with the LZW codeword as an index.
4. The extended coding method according to claim 1, characterized in that: If the preset encoder is an encoder based on the improved Base64 algorithm, when the preset encoder is used to encode the source symbol sequence in the independent data source block, the method further includes: The source symbol sequence is encoded using a balanced code.
5. The extended coding method according to claim 3, characterized in that: The constraint mapping table designed with the LZW codeword as an index includes: The LZW codeword is used as an index and a pseudo-random mapping correspondence is adopted to design a constraint mapping table.
6. An extended coding system for a storage channel, characterized in that: include: Acquisition module, used to obtain binary data; A decomposition module, used for decomposing the binary data into binary source blocks, encoding the binary source blocks using a preset code, and obtaining independent data source blocks; An encoding module, used for encoding the source symbol sequence in the independent data source block by using a preset encoder to obtain an encoding sequence that does not contain homopolymers; An index generation module, used to generate a primary data source block index and a secondary source symbol sequence index of the coding sequence by using automatic indexing, and to compound the primary data source block index and the secondary source symbol sequence index in a DNA coding symbol sequence to obtain a base index; A mapping module is used to map the DNA encoding symbol sequence into a binary symbol sequence, and then inversely map it into a DNA sequence after adding controlled redundancy through RS error correction coding.
7. The extended coding system according to claim 6, characterized in that: Also includes: A precoding module, used for precoding the independent data source block to generate an intermediate symbol and a redundant repair symbol corresponding to the intermediate symbol; The redundant repair symbols are used to recover the lost coded symbol sequence.
8. The extended coding system according to claim 6, characterized in that: If the preset encoder is an LZW algorithm encoder, the method further includes: The dynamically extensible module is used to control the interval range of the LZW codeword by dynamically expanding the dictionary capacity, and to design a constraint mapping table using the LZW codeword as an index.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the extended coding method for a storage channel as claimed in any one of claims 1 to 5 are implemented.
10. An electronic device, characterized in that: The method comprises a memory and a processor, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, the steps of the extended coding method for the storage channel as claimed in any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
DNA storage coding method for optimizing Chinese storage
CN111600609A
Coding and decoding method and coding and decoding device for binary information to base sequence for DNA data storage
CN112382340A