A kind of two-dimensional non-isolated bit constraint coding/decoding method and codec
Technical field:
The invention belongs to storage and data communication field, be specifically related to a kind of two-dimensional non-isolated bit constraint coding/decoding method and corresponding codec.
Background technology
The storage passage can have the constrained of certain form to the signal generation of passage lanes, thereby become a constrained system owing to inherent physical characteristic.For example in a given time, the data in the magnetic recording system " 1 " are represented the variation of magnetic pole, and " 0 " expression magnetic pole does not change.Two continuous " 1 " is pronounced voltage peak followed by a voltage trough.If it is too near that crest and trough lean on, can produce intersymbol interference, promptly the amplitude of crest and trough can be badly damaged, and the position that they produce therefore can distortion.So for crosstalking between control character, it is too near that general requirement " 1 " can not be leaned on; The length of " 0 " can not be too short in other words.On the other hand, for sequencing control wishes that also the length of " 0 " can not be oversize, this is because have only " 1 " just can be detected.The length of " 0 " is owing to be connected with clock by a feedback loop, and the length of " 0 " is oversize may to cause that then clock drift surpasses a clock unit cycle.This has just formed run length constraint RLL (run-length limited).Wherein famous (1,7) and (2,7) RLL are exactly two typical case's representatives of this class constraint coding.In this two type systematic, the minimum number of " 0 " is 1 (2), and the number of " 0 " mostly is 7 most.
Shannon (Shannon) capacity is an important parameter describing this constrained system in addition.Its implication is meant that system is satisfying under the constraints the progressive growth rate of code word number.It has reflected modulated predefined constraints, the theoretical upper limit that can reach of being mapped to of data.At present a lot of basic problems of one dimension constrained system are resolved theoretically, and Shannon capacity can calculate exactly with formula, and how corresponding encoding and decoding theory constructs code check as far as possible near the codec of capacity limitation if also having provided.To the further investigation of this class constrained system, make one-dimensional modulation constrained sequence and decoding method thereof in fields such as the storage of data and transmission, be used widely.
Development along with society, technology such as existing magnetic recording and optical storage are because inherent physical restriction, the requirement bigger to capacity storage, that the data addressing time is shorter and data transmission rate is higher, it is unable to do what one wishes to seem gradually, can not adapt to the epoch demand, thereby impel people's research to satisfy the novel memory technology of above-mentioned condition simultaneously based on new principle.The develop rapidly of two-dimensional storage technology such as Hologram Storage and two-dimentional CD storage technique in recent years and constantly ripe, complying with this demand just arises at the historic moment, be expected in the expected time, become alternative present main flow memory technology, become the first-selected solution of memory technology of future generation.Therefore to 2-dimensional signal encoding and Processing Technology and also increase day by day of concern.Compare with the one dimension constrained system, under two-dimensional case, the constrained that signal is subjected to is also more complicated comparatively speaking.Widely used magnetic storage of existing market and optical storage technology, data all are to arrange on storage medium by " line " mode.Noise that data are suffered and intersymbol interference also only are one dimensions.And in two dimension memory technology of new generation, data are to arrange on storage medium according to the mode of " page ", and intersymbol interference and noise all exist at both direction.Therefore traditional one-dimensional signal coding and technology such as input, processing are the demand of this two-dimensional data storage record of incompatibility form.The technology such as 2-D data detection, data processing and digital coding of seeking just become the subject matter that the research of two-dimensional storage passage faces.Studies show that: two-dimensional non-isolated bit constraint has important value to data channel such as Hologram Storage and two-dimentional optical disc storage, seriously restricts and affect channel performance.So-called two-dimensional non-isolated bit constraint is meant: be in the two-dimensional storage system of data record format with " page ", the data of neighbours up and down of data " 1 " (0) can not all be " 0 " (1).Be that two kinds of patterns shown in Figure 2 should be forbidden to occur in two-dimensional data array, the appearance of these two kinds of patterns can produce serious two-dimensional symensional symbol and crosstalk, and causes the serious distortion of performance of storage system.Under the planar boundary situation, this requirement can suitably be relaxed.
United States Patent (USP) 5,907, adopt finite state modulation code method in the one dimension constrained system 581 (Mays 25 1999 day for announcing), one-dimensional data stream is at first resolved into a plurality of chunk datas, and then each chunk data resolved into the bit group of forming by a plurality of Bit datas, each bit group is encoded into corresponding two-dimensional sub-arrays according to predesignating constraint again, these two-dimensional sub-arrays combination stage is unified into afterwards again and satisfies the two-dimensional data array of constraints in advance.The coding of each two-dimensional sub-arrays promptly has relation with the corresponding bit of organizing, also the bit with other adjacent set has relation, therefore in the decoding stage, when if the Bit data of other group produces decoding error, can current group bit decoding be impacted, and this influence can further have influence on the decoding of other packet of the next one on the horizon, thereby causes serious decoding error to propagate, and produces the calamitous decoding error of code word.In addition since coding and decoding stage need write down the encoding state with current bit group direct neighbor bit group, so the design of coding and decoding with realize comparatively complicated.
Generally speaking, in storage system,, can improve and improve performance of storage system, and reduce the error propagation that decoding occurs by the state number that reduces encoder when code check is identical or close.
Summary of the invention:
At above-mentioned prior art, the object of the invention aims to provide a kind of non-isolated bit constraint coding method with separate state, can directly take tracing table to realize, and is simple in structure, is easy to realize.The present invention is applicable to data-storage system such as the environment such as Hologram Storage and two-dimentional optical disc storage with " page " mode record data.
Another goal of the invention of the present invention provides a kind of non-isolated bit constraint coding/decoding method.
Another goal of the invention of the present invention provides a kind of non-isolated bit constraint encoder.
Another goal of the invention of the present invention provides a kind of non-isolated bit constraint decoder.
In order to reach the foregoing invention purpose, the technical scheme that the present invention takes is that a kind of two-dimensional non-isolated bit constraint coding method comprises the steps:
(1) data flow of random length with input is divided into packet according to every group of 6bits;
(2) convert each packet 6bits in 64 constraint code word mapping tables corresponding with it 2 * 4 two-dimensional constrains subarrays (8bits) according to packet to 64 of two-dimensional constrains subarray constraint code word mapping tables;
(3) will construct the two-dimensional constrains array in the mode of cascade line by line from the two-dimensional constrains subarray that step (2) obtain;
(4) whether the two-dimensional constrains array in the determining step (3) satisfies the page-size requirement, as satisfying, then changes step (5), otherwise changes step (2);
(5) the two-dimensional constrains array that step (4) is produced outputs to two-dimentional tape deck.
As preferred version of the present invention, in the above-mentioned coding method, described two-dimensional constrains array is changed according to code word element type and transition index, and need satisfy following design principle:
1) the maximum transition index of point is no more than 2 in the code word of two-dimensional constrains subarray;
2) codeword boundary summit transition index is no more than 1;
3) form 2 * 4 two-dimensional constrains array according to a left side or right cascade;
The heteromerism mutually of transition index expression currentElement and immediate neighbor node (being currentElement four elements up and down) wherein; 8 elements of 2 * 4 subarrays are divided into interior point and border vertices two classes, and wherein interior point is meant that the node of 4 direct neighbors has 3 elements and this element to belong to one 2 * 4 array, and border vertices is meant to have only 2 elements to belong to one 2 * 4 array; Based on mentioned above principle 2 * 2 array partition are become 4 classes,, 2 * 2 arrays according to a left side or right cascade system, are constructed 68 2 * 4 such subarrays according to the character of 2 * 2 array classes; These 68 mutual combination in any of subarray all can be constructed the two-dimensional constrains array that satisfies non-isolated bit constraint.
64 constraint code words are to obtain by choosing 64 code words that have high relevance in above-mentioned 68 constraint code words among the present invention.
The present invention has also taked a kind of coding/decoding method of two-dimensional non-isolated bit constraint, and its step comprises:
(1) the two-dimensional constrains array is divided into some 2 * 4 two-dimensional constrains subarrays according to row-by-row system;
(2) convert 2 * 4 subarrays after the above-mentioned division to correspondingly 6bits packet according to 64 constraint codeword table, enter step (3);
(3) packet that obtains is assembled into data flow according to the sequencing that step (2) produces data;
(4) repeating step (2) is decoded until 2 * 4 all two-dimensional constrains subarrays.
To achieve these goals, the present invention also provides a kind of encoder of realizing above-mentioned data-encoding scheme, comprising:
The data buffering module is used for temporarily depositing one-dimensional data stream;
The one-dimensional data grouping module is used for continuous one-dimensional data flow point composition is satisfied predefined one-dimensional data grouping;
The data search module is used for the one-dimensional data grouping and is converted into the two-dimensional constrains subarray that satisfies constraints; The two-dimensional sub-arrays Knockdown block is used for the 2-D data group of subarrays that satisfies constraints is dressed up the two-dimensional array of specifying size;
Above-mentioned four modules connect successively, insert the data input pin of 2-D data tape deck at last by two-dimensional sub-arrays Knockdown block wherein.
Described predefined one-dimensional data block length is every group 6 bit; Described two-dimensional sub-arrays is 82 * 4 two-dimensional sub-arrays.
The present invention also provides a kind of decoder of realizing above-mentioned data decoding method, it is characterized in that, comprising: the data buffering module is used for temporarily depositing 2-D data stream;
The two-dimensional array data are divided module, are used for one whole page of 2-D data stream packets is divided into satisfying predefined two-dimensional sub-arrays data;
Two-dimensional sub-arrays searches module, and being used for the two-dimensional sub-arrays data conversion is the one-dimensional data grouping;
One-dimensional data stream Knockdown block is used for above-mentioned one-dimensional data packet group is dressed up the one dimension customer traffic;
Above-mentioned four modules connect successively, and insert the data output end of 2-D data tape deck by data buffering module wherein.
By technique scheme, the present invention passes through input 6 bit data word, 2 * 4 two-dimensional sub-arrays that the output code number of words equals 8, and this two-dimensional sub-arrays can be in the mode of arbitrarily direct cascade, and structure satisfies the two-dimensional array of non-isolated bit constraint.Technique effect of the present invention is as described below:
1) the state number of encoder has realized minimizing.In the constraint coding field, the coder state number is to estimate an important indicator of encoder performance.The encoder that status number is more little, then the decoding possibility of makeing mistakes is just more little, and when encoder had only a state, the decoding error between the packet only was limited in the current data grouping, can not produce catastrophic error propagation.
2) structure of constraint code word mapping table is fairly simple.Because of all constraint code words of the present invention are that 2 * 4 constraint arrays are to come with the combined method structure, so the relevance between the code word is than higher; Secondly owing to have only 64 constraint code words, code table is simple, and this is very beneficial for the circuit design and the simplification of encoder, and the whole synthesis performance that improves encoder is had the important practical value and significance.
Description of drawings:
Fig. 1: storage basic principle schematic;
Fig. 2: two kinds of data diagrams of non-isolated bit constraint restriction;
Fig. 3: the element classification schematic diagram of two-dimensional constrains subarray;
Fig. 4: the theory diagram of encoder of the present invention;
Fig. 5: the theory diagram of decoder of the present invention;
Fig. 6: the basic classification chart of 2 * 2 two-dimensional sub-arrays; The chart of 2 * 2 two-dimensional sub-arrays of Fig. 6 (a) expression (0) class; The chart of 2 * 2 two-dimensional sub-arrays of Fig. 6 (b) expression (1) class; The chart of 2 * 2 two-dimensional sub-arrays of Fig. 6 (c) expression (2) class; The chart of 2 * 2 two-dimensional sub-arrays of Fig. 6 (d) expression (3) class;
Fig. 7: the one dimension original data stream is assembled into two-dimensional constrains data array embodiment;
Fig. 8: the two-dimensional constrains data array is reduced into the embodiment of one dimension original data stream.
In the accompanying drawings,
Point 3-data buffering module in the 1-codeword boundary point 2-code word
4-one-dimensional data grouping module 5-data query module 6-two-dimensional sub-arrays enquiry module
7-two-dimensional sub-arrays Knockdown block 8-one-dimensional data stream Knockdown block 9-2-D data tape deck
10-two-dimensional array data are divided module 11-user data 12-grouped data 121 ~ 126
13-two-dimensional constrains subarray 131 ~ 136 14-two-dimensional constrains arrays
Concrete execution mode
The present invention is further detailed explanation below in conjunction with drawings and Examples:
As shown in Figure 3, design principle of the present invention is: 8 elements of 2 * 4 subarrays are divided into two classes: a class is a point in the code word, and shown in numbering 2 marked among the figure: the node that is meant 4 direct neighbors had 3 elements and this element to belong to one 2 * 4 array; Another kind of is the codeword boundary point, shown in numbering 1 marks among the figure: be meant and have only 2 elements to belong to one 2 * 4 array.The heteromerism mutually of transition index expression currentElement and neighbor node.
The present invention constructs 2 * 4 two-dimensional sub-arrays that satisfy design principle according to above-mentioned code word element type and transition index, and wherein design principle is as follows:
1) point 2 maximum transition indexs are no more than 2 in the code word of two-dimensional sub-arrays;
2) codeword boundary is put 1 transition index and is no more than 1;
3) form 2 * 4 two-dimensional constrains array according to a left side or right cascade;
2 * 2 array partition can be become 4 classes based on mentioned above principle, as shown in Figure 6.According to the character of 2 * 2 array classes, 2 * 2 arrays according to a left side or right cascade system, can be constructed 68 2 * 4 such subarrays.
These 68 mutual combination in any of subarray all can be constructed the two-dimensional constrains array that satisfies non-isolated bit constraint.Have higher relevance based on these 68 constraint code words,, retrain the code word mapping tables thereby construct selected 64 of the present invention by choosing wherein 64 code words of high relevance, as described in Table 6.
As shown in Figure 4, the cataloged procedure of two-dimensional constrains encoder is as follows: at first original one-dimensional data stream temporarily leaves earlier data buffering module 3 in, the data that packet module 4 will obtain from data buffering module 3, being one group according to 6 bits divides into groups, if data flow figure place deficiency is then added part 0 bit to reach requirement at afterbody.Afterwards with 6 Bit datas grouping input data search module 5, be encoded into 2 * 4 two-dimensional constrains subarrays according to two-dimensional constrains code word tracing table, then 2 * 4 constraint subarrays that will produce according to precedence are input to two-dimensional sub-arrays Knockdown block 7, be cascaded into the two-dimensional constrains array of the pre-defined size of page size more line by line, at last this two-dimensional constrains array is input in the 2-D data tape deck 9, can finishes cataloged procedure.Its coding step comprises:
(1) to the data with arbitrary length stream of input according to every group of 6bits divide into groups (piece) divide;
(2) convert each packet 6bit in 64 constraint code words corresponding with it 2 * 4 two-dimensional constrains subarrays (8bits) according to packet (piece) to 64 of two-dimensional constrains array constraint code word mapping tables;
(3) will construct the two-dimensional constrains array in the mode of cascade line by line from the two-dimensional constrains subarray that step (2) obtain;
(4) whether the two-dimensional constrains array in the determining step (3) satisfies the page-size requirement, satisfies and changes step (5), otherwise change step (2);
(5) the two-dimensional constrains array that step (4) is produced outputs to the 2-D data tape deck.
As shown in Figure 5, the decode procedure of two-dimensional constrains data decoder is as follows: at first read two-dimensional data array from 2-D data tape deck 9, and it is left in the data buffering module 3, reading of data page by page from data buffering module 3 then, and this data array is input to the two-dimensional array data divides module 10, according to 2 * 4 is that a subarray divides into groups, two-dimensional sub-arrays after the grouping is input to two-dimensional sub-arrays searches module 6, search the one-dimensional data grouping that code table changes into each 2 * 4 subarray 6 bits according to coding rule, the 6 bit one-dimensional datas grouping that will obtain successively is assembled into the one dimension original data stream by one-dimensional data stream Knockdown block 8 according to precedence, thereby finish of the conversion of two-dimensional constrains array, realize decode procedure to one-dimensional data stream.Its decoding step comprises:
(1) the two-dimensional constrains array is divided into some 2 * 4 two-dimensional constrains subarrays according to row-by-row system;
(2) 2 * 4 two-dimensional constrains subarrays after input is divided search the constraint codeword table that 64 code words are formed, and output 6bits packet correspondingly enters step (3);
(3) packet that obtains is assembled into data flow according to the sequencing that step (2) produces data;
(4) repeating step (2) is decoded until 2 * 4 all two-dimensional constrains subarrays.
As shown in Figure 6,2 * 4 subarrays of the present invention are based on 2 * 2 array structures and get, 2 * 2 arrays are classified as a class according to the fundamental type of each array, 4 classes altogether, shown in Fig. 6 (a), Fig. 6 (b), Fig. 6 (c), Fig. 6 (d), 2 * 2 arrays that the present invention takes are selected from Fig. 6 (a), Fig. 6 (b) and this three class of Fig. 6 (c).This three class uses " 0 " class, " 1 " class and " 2 " class to represent respectively, 2 * 4 two-dimensional constrains subarrays can be constructed between the inside of class or class, can construct 68 2 * 4 two-dimensional constrains subarrays based on the method, these 68 two-dimensional constrains subarrays can be unified into satisfied two-dimensional constrains array of making an appointment by arbitrary number of level each other, and these 68 constraint arrays are bases of structure constraint code word.
2 * 4 two-dimensional constrains subarrays such as the following table 1 that go out of " 0 " class formation wherein:
Table 1
0 class |
00 10 ; 10 00 |
00 11 ; 11 00 |
10 01 ; 10 01 |
11 11 |
00 01 |
0000 0110 |
0000 0111 |
0010 0110 |
0011 0111 |
00 10 |
? |
0000 1110 |
0100 0110 |
1100 1110 |
01 00 |
0110 0000 |
0111 0000 |
0110 0010 |
0111 0011 |
10 00 |
? |
1110 0000 |
0110 0100 |
1110 1100 |
2 * 4 two-dimensional constrains subarrays such as the following table 2 that go out of " 1 " class formation wherein:
Table 2
1 class |
11 10 ; 10 11 |
00 11 ; 11 00 |
01 10 ; 01 10 |
00 00 |
01 11 |
1001 1111 |
0001 1111 |
1001 1011 |
0001 0011 |
10 11 |
? |
1000 1111 |
1001 1101 |
1000 1100 |
11 01 |
1111 1001 |
1111 0001 |
1011 1001 |
0011 0001 |
11 10 |
? |
1111 1000 |
1101 1001 |
1100 1000 |
2 * 4 two-dimensional constrains subarrays such as the following table 3 that go out of " 2 " class formation wherein:
Table 3
2 classes |
00 00 |
00 11 |
01 01 |
10 10 |
11 00 |
11 11 |
00 00 |
0000 0000 |
0000 0011 |
0001 0001 |
0010 0010 |
0011 0000 |
0011 0011 |
00 11 |
0000 1100 |
0000 1111 |
0001 1101 |
0010 1110 |
0011 1100 |
0011 1111 |
01 01 |
0100 0100 |
0100 0111 |
0101 0101 |
0110 0110 |
0111 0100 |
0111 0111 |
10 10 |
1000 1000 |
1000 1011 |
1001 1001 |
1010 1010 |
1011 1000 |
1011 1011 |
11 00 |
1100 0000 |
1100 0011 |
1101 0001 |
1110 0010 |
1111 0000 |
1111 0011 |
11 11 |
1100 1100 |
1100 1111 |
1101 1101 |
1110 1110 |
1111 1100 |
1111 1111 |
2 * 4 two-dimensional constrains subarrays such as the following table 4 that go out of " 3 " class formation wherein:
Table 4
?
0/
1 Class
|
01 11 |
10 11 |
11 01 |
11 10 |
00 01 |
0001 0111 |
? |
? |
? |
00 10 |
? |
1000 1111 |
? |
? |
01 00 |
? |
? |
0111 0001 |
? |
10 00 |
? |
? |
? |
1110 1000 |
68 constraint subarrays in above-mentioned table (1), table (2) and the table (3) are represented two-dimensional constrains subarray and the process thereof based on 0 class, 1 class and 2 class formations respectively.Data word is as shown in table 5 to the coding rule equation of two-dimensional sub-arrays constraint code word.User input data X=[X
1X
2X
3X
4X
5X
6] expression, and the two-dimensional constrains array is used
Expression.Can directly design and realize the hardware circuit of two-dimensional non-isolated bit constraint Code And Decode based on following rule list 5.
Table 5
Draw the mapping ruler table of 64 data according to above-mentioned coding rule equation to the two-dimensional constrains code word, as shown in table 6 below.
Table 6
6 bit data |
The two-dimensional constrains code word |
6 bit data |
The two-dimensional constrains code word |
6 bit data |
The two-dimensional constrains code word |
6 bit data |
The two-dimensional constrains code word |
000000 |
1100 1000 |
010000 |
0110 0000 |
100000 |
0000 1100 |
110000 |
0000 0000 |
000001 |
1101 1001 |
010001 |
0111 0000 |
100001 |
0001 1101 |
110001 |
0001 0001 |
000010 |
0011 0001 |
010010 |
0100 0110 |
100010 |
0010 1110 |
110010 |
0010 0010 |
000011 |
1011 1001 |
010011 |
1100 1110 |
100011 |
0011 1111 |
110011 |
0011 0011 |
000100 |
0111 0001 |
010100 |
0010 0110 |
100100 |
1100 0000 |
110100 |
0100 0100 |
000101 |
1111 0001 |
010101 |
0011 0111 |
100101 |
1101 0001 |
110101 |
0101 0101 |
000110 |
1000 1100 |
010110 |
0000 0110 |
100110 |
1110 0010 |
110110 |
0110 0110 |
000111 |
1000 1111 |
010111 |
0000 0111 |
100111 |
1111 0011 |
110111 |
0111 0111 |
001000 |
0001 0011 |
011000 |
0001 0111 |
101000 |
0000 0011 |
111000 |
1000 1000 |
001001 |
0001 1111 |
011001 |
0111 0000 |
101001 |
0011 0000 |
111001 |
1001 1001 |
001010 |
1001 1011 |
011010 |
1000 1111 |
101010 |
0100 0111 |
111010 |
1010 1010 |
001011 |
1001 1111 |
011011 |
1110 1000 |
101011 |
0111 0100 |
111011 |
1011 1011 |
001100 |
0110 0100 |
011100 |
0000 1111 |
101100 |
1000 1011 |
111100 |
1100 1100 |
001101 |
1110 1100 |
011101 |
0011 1100 |
101101 |
1011 1000 |
111101 |
1101 1101 |
001110 |
0110 0010 |
011110 |
1100 0011 |
101110 |
1100 1111 |
111110 |
1110 1110 |
001111 |
0111 0011 |
011111 |
1111 0000 |
101111 |
1111 1100 |
111111 |
1111 1111 |
These 64 code words are to choose the subarrays from 68 constraints, remove wherein that 4 constraint subarrays get, and these 4 deleted constraint subarrays are respectively:
0000?1110?1001?1111
; ; ;
1110?0000?1101?1000
Based on table 6, can realize that data are to the mapping and constraint code word the searching to packet of constraint code word in coding step (2) and the decoding step (2).
For the application process of coding rule is described, Fig. 7 and Fig. 8 have enumerated a specific coding embodiment 1 of the present invention and decode procedure embodiment 2.
Embodiment 1: user data 11 at first is divided into 6 groups by packet module 4, corresponding grouped data 12 be numbered 121-126, every group of data are searched respectively by data query module 5 according to shown 64 the constraint sign indicating number mapping tables of table 6 obtain and the corresponding 6 groups of two-dimensional constrains subarrays 13 of former packet, use 131 ~ 136 numbering expressions respectively, then two-dimensional constrains subarray 131 ~ 136 is input to 7 assemblings of array Knockdown block according to precedence and obtains 4 * 12 two-dimensional constrains array 14, again this array is transferred to two-dimentional tape deck 9, can finishes the two-dimensional encoded work of user data.
Embodiment 2: Fig. 8 provides concrete decode procedure of the present invention, read two-dimensional constrains array 14 from two-dimentional tape deck 9, this array is input to the two-dimensional array data divides module 10, can get two-dimensional constrains subarray 131 ~ 136 thus, search two-dimensional constrains code word inverse morphism table by two-dimensional sub-arrays enquiry module 6, as shown in table 6, obtain the one dimension user grouping data 121 ~ 126 of each two-dimensional constrains subarray, user data is imported one-dimensional data stream Knockdown block 8, assembling obtains the continuous traffic flow information of one dimension 11, thereby finishes the decoding work of data.
Although described embodiment disclosed by the invention in detail, should understand under the situation that does not break away from design of 68 2 * 4 constraint subarrays and scope, the present invention also has a lot of the change at specific embodiment, substitutes and revises.