CONVERSION DEVICE, CONVERSION METHOD, REVERSE CONVERSION DEVICE, REVERSE CONVERSION METHOD, AND PROGRAM

Information

  • Patent Application
  • 20240413838
  • Publication Number
    20240413838
  • Date Filed
    October 06, 2022
    2 years ago
  • Date Published
    December 12, 2024
    21 days ago
  • Inventors
    • YAMASAKI; Nobuyuki
    • TAKEDA; Masayuki
  • Original Assignees
Abstract
One aspect of the present disclosure relates to a conversion device including an acquisition unit configured to acquire a first bit string having a first bit length L1; a conversion unit configured to convert, in accordance with conversion information that associates respective bit strings each having the first bit length L1 with bit strings each having a second bit length L2 uniquely assigned to the respective bit strings, the first bit string into a second bit string having the second bit length L2. The conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
Description
TECHNICAL FIELD

The present disclosure relates to a line coding technique in digital communication.


BACKGROUND

A general line code does not have an error correction function, and it is necessary to perform error correction of multiple bits in upper layers of a physical layer and a data link layer. For example, it is difficult to use the 8b/10b line code for bitwise error correction, and a block error correction code such as Reed-Solomon Code is performed on a packet-by-packet basis.


In order to solve this problem, a coding technique of the 4b/10b line code having an error correction function is proposed (Patent Document 1).


RELATED ART DOCUMENT
Patent Document





    • [Patent Document 1] Japanese Laid-open Patent Application Publication No. 2013-153394





SUMMARY OF THE INVENTION
Problem to be Solved by the Invention

However, with respect to the 4b/10b line code, the coding rate is only 60% in comparison with the 8b/10b line code, and the processing performance degrades. Additionally, in the 4b/10b line code, because 4 bits are converted into 10 bits, the overhead (portion not used for data transmission such as control information) for performing additional work is large, which significantly affects the processing performance. Furthermore, for a code that satisfies constraint conditions required for certain functions, such as embedded clock, DC-balancing, and error detection, only 20 codes can be detected in the 4b/10b line code. Therefore, only the minimum special characters can be assigned as the control information, and it is difficult to implement an additional function such as a handshake sequence.


In view of the above problems, it is an object of the present disclosure to provide a line code that satisfies a predetermined constraint condition.


Means for Solving the Problem

In order to solve the above problem, one aspect of the present disclosure relates to a conversion device including an acquisition unit configured to acquire a first bit string having a first bit length L1; a conversion unit configured to convert, in accordance with conversion information that associates respective bit strings each having the first bit length L1 with bit strings each having a second bit length L2 uniquely assigned to the respective bit strings, the first bit string into a second bit string having the second bit length L2. The conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.


Effect of the Invention

According to the present disclosure, a line code that satisfies a predetermined constraint condition can be provided.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic diagram illustrating line coding according to one embodiment of the present disclosure.



FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer according to one embodiment of the present disclosure.



FIG. 3 is a block diagram illustrating a functional configuration of a conversion device according to one embodiment of the present disclosure.



FIG. 4 is a schematic diagram illustrating a 1-bit flip according to one embodiment of the present disclosure.



FIG. 5 is a schematic diagram illustrating concatenation of bit strings according to one embodiment of the present disclosure.



FIG. 6 is a schematic diagram illustrating a 2-bit flip of a concatenated bit string according to one embodiment of the present disclosure.



FIG. 7 is a schematic diagram illustrating a hamming distance of bit strings according to one embodiment of the present disclosure.



FIG. 8 is a flowchart illustrating a conversion process according to one embodiment of the present disclosure.



FIG. 9 is a block diagram illustrating a functional configuration of a reverse conversion device according to one embodiment of the present disclosure.



FIG. 10 is a flowchart illustrating a reverse conversion process according to one embodiment of the present disclosure.



FIG. 11 is a flowchart illustrating a process of creating conversion information according to one embodiment of the present disclosure.



FIG. 12 is a diagram illustrating an 8b/14b line code, which is an example according to one embodiment of the present disclosure.



FIG. 13 is a diagram illustrating an 8b/14b line code, which is an example according to one embodiment of the present disclosure.



FIG. 14 is a diagram illustrating an 8b/14b line code, which is an example according to one embodiment of the present disclosure.



FIG. 15 is a diagram illustrating the conversion information according to one embodiment of the present disclosure.



FIG. 16 is a diagram illustrating a conversion table for 8b/14b line coding according to one embodiment of the present disclosure.



FIG. 17 is a diagram illustrating a conversion table for the 8b/14b line coding according to one embodiment of the present disclosure.



FIG. 18 is a diagram illustrating a conversion table for the 8b/14b line coding according to one embodiment of the present disclosure.





DESCRIPTION OF THE EMBODIMENTS

In the following, embodiments of the present invention will be described based on the drawings.


The following embodiments disclose a conversion device that converts a transmission target data into a bit string having a predetermined function such as error correction, and a reverse conversion device that restores a transmitted bit string to original data.


To summarize the embodiments described later, as illustrated in FIG. 1, a conversion device 100 according to one embodiment of the present disclosure is a communication device including a conversion circuit (encoder) 101 configured to convert a bit string having a predetermined bit length L1 that constitutes a transmission target data into a bit string having a bit length L2 (>L1) in accordance with conversion information 10 such as a conversion table. The conversion circuit 101 is implemented by hardware logic including, for example, an AND gate, an OR gate, a flip-flop, and the like. Here, the conversion information 10 is stored in advance in a storage area that can be read from the conversion circuit 101, such as a read only memory (ROM), a flip-flop, or a storage device.


In the conversion table according to the following embodiments, respective bit strings each having the bit length L1 are uniquely assigned to bit strings each having the bit length L2 that satisfies a constraint condition to have a predetermined function, such as DC-balancing, clock recovery, error detection, and error correction. For example, in 8b/14b transmission line coding, as illustrated, the conversion device 100 converts an 8-bit bit string “x0x1x2x3x4x5x6x7” (where xi=0/1) into a 14-bit bit string “y0y1y2y3y4y5y6y7y8y9y10y11y12y13” (where yi=0/1) in accordance with the conversion information (conversion table) 10.


A reverse conversion device 200 is a communication device including a reverse conversion circuit (decoder) 201 configured to reversely convert the bit string having the bit length L2 converted by the conversion device 100 into the bit string having the bit length L1 in accordance with the conversion information 10. The reverse conversion circuit 201 is implemented by, for example, hardware logic in substantially the same manner of the conversion circuit 101. Here, the conversion information 10 is stored in advance in a storage area that can be read from the reverse conversion circuit 201, for example. When the reverse conversion circuit 201 receives the 14-bit bit string converted by the conversion circuit 101, the reverse conversion circuit 201 restores the original bit string that has an 8-bit length by using the conversion information 10, for example.


Here, the conversion device 100 may further include the reverse conversion circuit 201. For example, the conversion device 100 may be a communication device including a conversion/reverse conversion circuit (codec) including the conversion circuit 101 and the reverse conversion circuit 201 instead of the conversion circuit 101. Similarly, the reverse conversion device 200 may further include the conversion circuit 101. For example, the reverse conversion device 200 may be a communication device having a conversion/reverse conversion circuit including the conversion circuit 101 and the reverse conversion circuit 201 instead of the reverse conversion circuit 201.


According to the present disclosure, the 8b/14b line coding may use 14-bit bit strings that satisfy the following six constraint conditions, as bit strings after conversion in the conversion information 10:

    • 1) each of the 14-bit bit strings is composed of the equal number of bits of “0” and “1”;
    • 2) run lengths of all 14-bit bit strings are 5 or less;
    • 3) the run lengths of all 14-bit bit strings are 7 or less in a 1-bit flip;
    • 4) a run length of a bit string obtained by concatenating two bit strings having the 14-bit length is 5 or less;
    • 5) a run length of a bit string obtained by concatenating two bit strings having the 14-bit length is 11 or less in a 2-bit flip and a distance between two bits to be inverted is 4 bits or greater; and
    • 6) the hamming distance between two bit strings having the 14-bit length is 4 or greater.


Here, the bit string satisfying the above constraint conditions is determined by finding a clique (a complete subgraph) including 28 or more nodes in a graph in which bit strings satisfying the constraint conditions 1) to 3) are nodes and an edge connecting the nodes satisfying the constraint conditions 4) to 6), particularly by finding the maximal clique. As described, by reducing the determining of the bit string satisfying the predetermined constraint conditions to the maximum clique search problem in the graph, a bit string can be efficiently determined.


As another example, the conversion device 100 and the reverse conversion device 200 may have a hardware configuration of a general computer 20 as illustrated in FIG. 2, for example. In this case, the function of the conversion circuit 101 or the reverse conversion circuit 201 of FIG. 1 may be implemented by, for example, a predetermined program executed by the computer 20.



FIG. 2 is a diagram illustrating an example of the hardware configuration of the computer according to one embodiment of the present disclosure. In the example of FIG. 2, the computer 20 includes a drive device 21, an auxiliary storage device 22, a memory device 23, a central processing unit (CPU) 24, an interface device 25, and a communication interface (I/F) 26, which are connected to each other via a bus B.


Various computer programs including a program for implementing various functions and processes, which will be described later, in the conversion device 100 and the reverse conversion device 200 may be provided by a recording medium 27 such as a compact disk-read only memory (CD-ROM). When the recording medium 27 storing the program is set in the drive device 21, the program is installed in the auxiliary storage device 22 from the recording medium 27 via the drive device 21. However, the program does not necessarily have to be installed from the recording medium 27, and may be downloaded from any external device via a network or the like. The auxiliary storage device 22 stores the installed program and also stores necessary files and data, and the like. The memory device 23 reads the program and data from the auxiliary storage device 22 and stores them when a program activation instruction is issued. The CPU 24, which functions as a processor, performs various functions and processes of the conversion device 100 and the reverse conversion device 200, which will be described later, in accordance with the program and various data such as parameters necessary for executing the program stored in the memory device 23. The interface device 25 is used as a communication interface for connecting to a network or an external device. The communication I/F 26 includes a transmission/reception circuit for communicating with an external device.


Here, the communication I/F 26 may be a communication device including the conversion circuit 101 or the reverse conversion circuit 201 of FIG. 1, for example. Additionally, the conversion device 100 and the reverse conversion device 200 are not limited to the above-described hardware configuration, and may be implemented by any other appropriate hardware configuration.


[Conversion Device]

Next, the conversion device 100 according to one embodiment of the present disclosure will be described with reference to FIGS. 3 to 7. FIG. 3 is a block diagram illustrating a functional configuration of the conversion device 100 according to one embodiment of the present disclosure.


As illustrated in FIG. 3, the conversion device 100 includes an acquisition unit 110 and a conversion unit 120.


The acquisition unit 110 acquires the bit string having the bit length L1 to be transmitted. Specifically, when data is transmitted, the acquisition unit 110 acquires the data, divides the acquired data into bit strings each having the predetermined bit length L1, and passes the bit strings to the conversion unit 120. For example, in the 8b/14b transmission line coding, the acquisition unit 110 divides the data to be transmitted into 8-bit bit strings, and sequentially passes the divided bit strings to the conversion unit 120.


The conversion unit 120 converts the bit string to be converted that is acquired from the acquisition unit 110 into a bit string for transmission having the bit length L2, in accordance with the conversion information 10 that associates respective bit strings each having the bit length L1 with the bit strings each having the bit length L2 uniquely assigned to the respective bit strings. Here, the conversion information 10 is created by searching for a clique including 2L1 or more nodes in a graph including nodes and edge representing the bit strings each having the bit length L2 that satisfies the predetermined constraint conditions.


A bit string having the bit length L2 having a DC-balancing function, a clock recovery function, and an error detection function and error correction function is used as the conversion information 10.


For example, in the 8b/14b transmission line coding, the conversion information 10 represents a correspondence relationship between respective bit strings each having the 8-bit length and 14-bit bit strings uniquely assigned to the respective bit strings. The 14-bit bit string used as the conversion information 10 satisfies the following six constraint conditions.

    • 1) Each of the bit strings having the 14-bit length is composed of the equal number of bits of “0” and “i”.
    • 2) The run lengths of all bit strings each having the 14-bit length are 5 or less.
    • 3) The run lengths of all bit strings each having the 14-bit length is 7 or less in the 1-bit flip.
    • 4) The run length of the bit string obtained by concatenating two bit strings having the 14-bit length L2 is 5 or less.
    • 5) The run length of the bit string obtained by concatenating two bit strings having the 14-bit length L2 is 11 or less in the 2-bit flip and the distance between two bits to be inverted is 4 bits or greater.
    • 6) The hamming distance between two bit strings having the second bit length L2 is 4 or greater.


The constraint condition 1) relates to the DC balancing function, the constraint conditions 2) to 5) relate to the clock recovery function, and the constraint condition 6) relates to the error detection function and error correction function. Here, the importance of the code is clock recovery function>DC balancing function>=error detection function and error correction function.


That is, the 14-bit bit string having the DC balancing function is composed of the equal number of bits “0” and “1”.


Additionally, the run lengths of all the 14-bit bit strings having the clock recovery function, that is, the maximum lengths of consecutive 0s or 1s are 5 or less.


Further, the run lengths of all the 14-bit bit strings having the clock recovery function is 7 or less in the 1-bit flip. That is, even if any one bit of the bit string is inverted, the run length of the resultant bit string is 12 or less. For example, in the bit string “00010011011101” illustrated in FIG. 4, even if the fourth bit “0” from the most significant bit is inverted to “1”, the run length of the resultant bit string “00000011011101” is 6, which is 7 or less.


Further, the run length of the bit string obtained by concatenating two 14-bit bit strings having the clock recovery function is 5 or less. For example, the run length of the bit string “0011101110010000010011011101” obtained by concatenating the two bit strings “00111011100100” and “00010011011101” illustrated in FIG. 5 is 5, which is 5 or less.


Further, the run length of the bit string obtained by concatenating two 14-bit bit strings having the clock recovery function is 9 or less in the 2-bit flip in which the distance between two inverted bits is set to 4 bits or greater. That is, even if any two bits of the concatenated bit string are inverted, the run length of the resultant bit string is 12 or less. For example, in the bit string “0011101110000000000011011101” obtained by concatenating the two bit strings “00111011100100” and “00010011011101” illustrated in FIG. 6, even if the two bits, which are the twelfth bit from the most significant bit and the eighteenth bit separated from the twelfth bit by four or more bits, are inverted, the run length of the resultant bit string “0011101110000000000011011101” is 11, which is 11 or less.


Additionally, the hamming distance between two 14-bit bit strings having the error detection function and error correction function is 4 or greater. For example, the hamming distance of the two bit strings “11101100110000” and “00010011011101” illustrated in FIG. 7 is 12, which is 4 or greater.


Here, the conversion information 10 described above relates to the 8b/14b line coding that achieves the DC-balancing function, the clock recovery function, the error detection function and correction function, but the conversion information 10 according to the present disclosure is not limited thereto. For example, more generally, for L1b/L2b line coding, when L3 is a constant related to the run length, L4 is a constant related to the bit invert distance, and L5 is a constant related to the hamming distance, the following conditions may be used:

    • 1) each of the bit strings is composed of the equal number of bits of “0” and “1”;
    • 2) the run lengths of all bit strings are L3 or less;
    • 3) the run lengths of all bit strings are L3 or less in the 1-bit flip;
    • 4) the run length of the bit string obtained by concatenating two bit strings is L3 or less;
    • 5) the run length of the bit string obtained by concatenating two bit strings is L3 or less in the 2-bit flip in which bits are separated by L4 or more, and a distance between two bits to be inverted is L5 bits or greater; and
    • 6) the hamming distance between two bit strings is L5 or greater. At this time, L3, L4, and L5 are less than or equal to L2 at the maximum. When L1 and L2 are fixed, it is preferable that L3 and L4 are smaller and L5 is larger in view of the nature of the line code. That is, as L3 becomes smaller, the clock is easily recovered from the bit signal, and as L4 becomes smaller, the tolerance of the clock recovery to bit errors increases. As L5 becomes larger, the number of bit errors that can be corrected and detected increases, because the magnitude of L5 is directly related to the strength of the code correction function. However, as these conditions are more strongly applied, the size of the maximum clique that is found decreases, and a trade-off relationship exists. Therefore, L3 to L5 may be appropriately selected after L1 and L2 are determined.


[Conversion Process]

Next, a conversion process according to one embodiment of the present disclosure will be described with reference to FIG. 8. FIG. 8 is a flowchart illustrating the conversion process according to one embodiment of the present disclosure. This process indicates an example of the conversion process performed by the conversion device 100 described with reference to FIG. 3.


As illustrated in FIG. 8, in step S101, the conversion device 100 acquires a bit string having the bit length L1. For example, when the conversion device 100 acquires the transmission target data, the conversion device 100 divides the acquired transmission target data into bit strings each having the bit length L1.


In step S102, the conversion device 100 converts each of the bit strings into a bit string having the bit length L2 in accordance with the conversion information 10. The conversion information 10 is created by searching for a clique including 2L1 or more nodes in a graph including the nodes and the edge representing the bit strings each having the bit length L2 that satisfy the predetermined constraint conditions.


Here, the predetermined constraint conditions are for adding the DC-balancing function, the clock recovery function, and the error detection function and error correction function to the bit string having the bit length L1. For example, in the 8b/14b line coding, the predetermined constraint conditions may include:

    • 1) each of the bit strings each having the bit length L2 is composed of the equal number of bits “0” and “1”;
    • 2) the run lengths of all the bit strings each having the bit length L2 are 5 or less;
    • 3) the run lengths of all the bit strings each having the bit length L2 are 7 or less in the 1-bit flip;
    • 4) the run length of the bit string obtained by concatenating two bit strings each having the bit length L2 is 5 or less;
    • 5) the run length of the bit string obtained by concatenating two bit strings each having the bit length L2 is 11 or less in the 2-bit flip and the distance between two bits to be inverted is 4 bits or greater; and
    • 6) the hamming distance between two bit strings each having the bit length L2 is 4 or greater.


The bit string having the bit length L2 converted by the conversion device 100 is transmitted to a transmission destination of the transmission target data.


[Reverse Conversion Device]

Next, the reverse conversion device 200 according to one embodiment of the present disclosure will be described with reference to FIG. 9. The reverse conversion device 200 acquires the bit string having the bit length L2 converted by the conversion device 100 and restores the acquired bit string to the bit string having the bit length L1 in accordance with the conversion information 10. FIG. 9 is a block diagram illustrating a functional configuration of the reverse conversion device 200 according to one embodiment of the present disclosure.


As illustrated in FIG. 9, the reverse conversion device 200 includes an acquisition unit 210 and a reverse conversion unit 220.


The acquisition unit 210 acquires the bit string having the bit length L2. Specifically, the acquisition unit 210 acquires the bit string having the bit length L2 converted by the conversion device 100 from the bit string having the bit length L1 representing the transmission target data. For example, in the 8b/14b line coding, the acquisition unit 210 acquires the 14-bit bit string.


The reverse conversion unit 220 reversely converts the acquired bit string into the bit string having the bit length L1 in accordance with the conversion information 10 that associates the respective bit strings each having the bit length L1 with the bit strings each having the bit length L2 uniquely assigned to the respective bit strings. As described above, the conversion information 10 is created by searching for the clique including 2L1 or more nodes in the graph including the nodes and the edge representing the bit strings each having the bit length L2 that satisfy the predetermined constraint conditions. For example, in the 8b/14b line coding, the reverse conversion unit 220 reversely converts the acquired 14-bit bit string into a corresponding 8-bit bit string in accordance with the conversion information 10. The restored bit strings are combined to restore the transmission target data.


[Reverse Conversion Process]

Next, a reverse conversion process according to one embodiment of the present disclosure will be described with reference to FIG. 10. FIG. 10 is a flowchart illustrating the reverse conversion process according to one embodiment of the present disclosure. This process indicates an example of the reverse conversion process performed by the reverse conversion device 200 described with reference to FIG. 9.


As illustrated in FIG. 10, in step S201, the acquisition unit 210 of the reverse conversion device 200 acquires the bit string having the bit length L2. For example, in the 8b/14b line coding, the reverse conversion device 200 acquires the 14-bit bit string.


In step S202, the reverse conversion unit 220 of the reverse conversion device 200 calculates the hamming distances between the bit string (the bit length L2) acquired by the acquisition unit 210 and all the bit strings (the bit length L2) included in the conversion information 10.


In step S203, the reverse conversion unit 220 selects a bit string (the bit length L2) having the minimum hamming distance included in the conversion information 10.


In step S204, the reverse conversion unit 220 determines whether the minimum hamming distance is 0. If the minimum hamming distance is 0, the reverse conversion unit 220 causes the process to transition to step S205. If the minimum hamming distance is not 0, the reverse conversion unit 220 causes the process to transition to step S206.


When the process transitions to step S205, the reverse conversion unit 220 converts the bit string (the bit length L2) selected in step S203 into a bit string (the bit length L1) in accordance with the conversion information 10. For example, in the 8b/14b transmission line coding, the reverse conversion unit 220 converts the 14-bit bit string into the 8-bit bit string.


If the process transitions from step S204 to step S206, the reverse conversion unit 220 determines whether the minimum hamming distance is 1. If the minimum hamming distance is 1, the reverse conversion unit 220 causes the process to transition to step S207. If the minimum hamming distance is not 1, the reverse conversion unit 220 causes the process to transition to step S209.


When the process transitions to step S207, the reverse conversion unit 220 performs 1-bit error correction on the bit string (the bit length L2) acquired in step S201, and converts the corrected bit string (the bit length L2) into a bit string (the bit length L1) in accordance with the conversion information 10. For example, in the 8b/14b line coding, because the hamming distance of arbitrary codes (symbols) is 4 or greater, when what is called a 1-bit error, in which 1 bit in 14 bits is inverted, occurs, there is only one symbol that has a hamming distance different by 1 for matching. Therefore, when the hamming distance is 1, the 1-bit error correction is possible. Here, when the hamming distance is 1, as described above, there is one symbol that has a hamming distance different by 1 for matching, and thus the reverse conversion unit 220 may convert the bit string (the bit length L2) selected in step S203 into the bit string (the bit length L1).


In step S208, the reverse conversion unit 220 notifies the upper layer that the 1-bit error correction has been performed. For example, the reverse conversion unit 220 outputs, to the CPU or the like, an interrupt signal (correct error) indicating that the 1-bit error correction has been performed.


If the process transitions from step S206 to step S209, the reverse conversion unit 220 performs error detection on the bit string acquired in step S201 and notifies a detection result. For example, when a 2-bit error occurs during communication, the minimum hamming distance value becomes 2, and in this case, the hamming distances of multiple bit strings (the bit length L2) included in the conversion information 10 can be 2. That is, error detection can be performed, although error correction cannot be performed because multiple bit strings (the bit length L2) are matched. Here, when an error of three or more bits occurs during communication, the error can be detected or cannot be detected. (There is a possibility that the bit string may erroneously match with another bit string.)


Additionally, the reverse conversion unit 220 notifies the upper layer of the detection result detected by the error detection. For example, the reverse conversion unit 220 outputs an interrupt signal indicating that an error has been detected (a fatal error) to the CPU or the like.


By the process of FIG. 10, the reverse conversion device 200 can reversely convert the bit string having the bit length L2 (the bit length L2) converted by the conversion device 100 into the transmission target data (the bit string having the bit length L1). Additionally, the reverse conversion device 200 according to the present embodiment has a feature that the error detection and correction can be performed even with the line code. For example, in the 8b/14b line code, the reverse conversion device 200 can detect an error of 2 bits or less that occurs during transmission and correct an error of 1 bit.


<Method of Creating Conversion Information>

Subsequently, a method of creating the conversion information 10 will be described. In the present disclosure, in order to extract a bit string that satisfies the predetermined constraint conditions 1) to 6), the computer 20 as illustrated in FIG. 2 executes a predetermined program (a conversion information creation program) to perform, for example, a process of creating the conversion information as illustrated in FIG. 11.


In the 8b/14b line code, the predetermined constraint conditions may include:

    • 1) each of the bit strings each having the bit length L2 is composed of the equal number of bits “0” and “1”;
    • 2) the run lengths of all the bit strings each having the bit length L2 are 5 or less;
    • 3) the run lengths of all the bit strings each having the bit length L2 are 7 or less in the 1-bit flip;
    • 4) the run length of the bit string obtained by concatenating two bit strings each having the bit length L2 is 5 or less;
    • 5) the run length of the bit string obtained by concatenating two bit strings each having the bit length L2 is 11 or less in the 2-bit flip and the distance between two bits to be inverted is 4 bits or greater; and
    • 6) the hamming distance between two bit strings each having the bit length L2 is 4 or greater.



FIG. 11 is a flowchart illustrating the process of creating the conversion information according to one embodiment of the present disclosure. This process indicates an example of the process of creating the conversion information, which is performed when the computer 20 executing the predetermined program creates the conversion information 10.


In step S301, in the 8b/14b line coding, the computer 20 first extracts a 14-bit bit string that satisfies the above constraint conditions 1) to 3), and sets the extracted bit string as a node of a graph.


In step S302, with respect to a pair of bit strings that satisfy the constraints 4) to 6) for the extracted bit strings, the computer 20 connects these two nodes by an edge. This derives a graph including the nodes representing bit strings that satisfy the constraint conditions 1) to 3) and the edge connecting the pair of nodes that satisfy the constraint conditions 4) to 6) among the nodes.


In step S303, the computer 20 searches for a clique including 23 or more nodes in the graph derived in step S302. The bit string corresponding to the node of the extracted clique satisfies the constraint conditions 1) to 6).


Preferably, the computer 20 searches for a clique including the maximum number of nodes, that is, the maximum clique, so that more transmission control codes such as special characters can be used in addition to 28 8-bit bit strings of the conversion target. With respect to the maximal clique search problem in the graph, several known algorithms are known (e.g., Tomita's MCT algorithm, Battitti and Protasi's Reactive Local Search meta-heuristic based algorithm, and the like), and any of the maximal clique search algorithms may be employed.


Here, the MCT algorithm finds an exact solution, whereas the Reactive Local Search algorithm finds an approximate solution. In the maximum clique problem, as the scale of the problem increases, the required computation time exponentially increases. Thus, in practice, the Reactive Local Search algorithm, which approximately finds the maximum clique, can be used in the computation of the 8b/14b line code. Here, for the sake of simplicity, hereinafter, the exact solution and the approximate solution of the maximum clique are referred to as the maximum clique.


When the Reactive Local Search algorithm is applied to the 8b/14b line coding, 266 bit strings in FIGS. 12 to 14 are extracted. Among the 266 bit strings, 256 bit strings are uniquely assigned to the 8-bit bit string of the conversion target, and the remaining 10 bit strings are used as special characters for transmission control. When the 266 bit strings are assigned as described, a conversion table as illustrated in FIG. 15 can be obtained. By converting the 8-bit bit string of the transmission target into the 14-bit bit string in accordance with the conversion table, the DC balancing function, the clock recovery function, and the error detection function and error correction function can be added. For each of the bit strings, the run length of the single code is 5, and the run length across arbitrary codes is also 5, and the clock recovery performance is improved tremendously. Additionally, the run length is 7 when a 1-bit error occurs in the code, and the run length is 8 when a 1-bit error occurs in a code obtained by concatenating two arbitrary codes.


The code by the 8b/14b line code found and detected as described has the following characteristics.


1) Clock Recovery Performance





    • When there is no bit error, the run length in the code is 5.

    • When there is no bit error, the run length is 5 even across arbitrary codes.


      That is, when there is no error, the number of consecutive 0s or 1s is always 5 or less in an arbitrary bit string.





2) DC Balance Performance





    • When there is no bit error, the number of 0s and the number of 1s in the code are always identical (7 bits among 14 bits).





3) Error Detection and Correction Function





    • Error correction is possible if any one bit in the code is corrupted.

    • Error detection is possible if any two bits in the code are corrupted.





The following are characteristics at the time of the error.

    • For any one bit error, the run length in the code is always 7 or less.
    • For any one bit error, the run length even across any codes is always 8 or less.
    • For any 2-bit bit error, the run length even across any codes is always 11 or less, when the bit errors are separated by 4 or more bits.


      Additionally, the number of control codes (K codes) is 10.


(Example of Conversion Information)

In the 8b/14b line coding, the conversion device 100 and the reverse conversion device 200 hold the conversion table (an example of the conversion information 10) as illustrated in FIGS. 16 to 18, for example, and can perform coding and decoding using the conversion table. Each of the bit strings of the illustrated conversion table is assigned to D.X (X=0 to 255) data corresponding to the bit string of 8 bits and K.Y (Y=0 to 9) codes. Here, the illustrated assignment is merely an example, and the conversion table according to the present disclosure is not limited thereto.


By using this code table, any 8-bit (0 to 255) data and 10 types of K codes can be converted into 14b. For example, 128 in 8-bit is converted into 14 bits “01111001001001” corresponding to D.128 in the conversion table. Similarly, the control code K.7 is converted into 14 bits “11101010100010”. The reverse conversion device 200 calculates all of the hamming distances between the 14-bit data to be converted (generally, received 14-bit data) and all the 14b codes of the code table, and if there is a code having a hamming distance of 0 (that is, if there is a 14b that completely matches), it is determined that there is no error, and the code is selected. If there is no code having a hamming distance of 0 (the code that completely matches), and if there is a code having a hamming distance of 1, it is determined that the 1-bit error is corrected, and the code is selected. (Only one code having a hamming distance of 1 can be present.) If other than the above, an error is detected.


Although the embodiments of the present invention have been described in detail, the present invention is not limited to the above-described specific embodiments, and various modifications and changes can be made within the scope of the spirit of the present invention described in the claims.


This application claims priority to Japanese Patent Application No. 2021-166735 filed on Oct. 11, 2021, the entire contents of which are incorporated herein by reference.


DESCRIPTION OF REFERENCE SYMBOLS






    • 10 conversion information


    • 100 conversion device


    • 110 acquisition unit


    • 120 conversion unit


    • 200 reverse conversion device


    • 210 acquisition unit


    • 220: reverse conversion unit




Claims
  • 1. A conversion device comprising: circuitry configured to:acquire a first bit string having a first bit length L1; andconvert, in accordance with conversion information that associates respective bit strings each having the first bit length L1 with bit strings each having a second bit length L2 uniquely assigned to the respective bit strings, the first bit string into a second bit string having the second bit length L2,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
  • 2. The conversion device as claimed in claim 1, wherein when the first bit length L1 is 8 and the second bit length L2 is 14, the predetermined constraint condition includes 1) each of the bit strings each having the second bit length L2 is composed of an equal number of bits “0”s and “1”s,2) run lengths of all of the bit strings each having the second bit length L2 are 5 or less,3) the run lengths of all of the bit strings each having the second bit length L2 are 7 or less in a 1-bit flip,4) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 5 or less,5) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 11 or less in a 2-bit flip, and a distance between two bits to be inverted is 4 or greater, and6) a hamming distance between two bit strings each having the second bit length L2 is 4 or greater.
  • 3. The conversion device as claimed in claim 2, wherein the conversion information is created by searching for the clique that includes the 2L1 or more nodes from the graph.
  • 4. The conversion device as claimed in claim 3, wherein the clique includes a node group of 266 nodes corresponding to bit strings below:
  • 5. The conversion device as claimed in claim 4, wherein bit strings corresponding to 256 nodes of the node group are uniquely assigned to the respective bit strings each having the first bit length L1, andwherein bit strings corresponding to remaining ten nodes of the node group are used for transmission control.
  • 6. A conversion method comprising: acquiring, by one or more processors, a first bit string having a first bit length L1; andconverting, by the one or more processors, in accordance with conversion information that associates respective bit strings each having the first bit length L1 with bit strings each having a second bit length L2 uniquely assigned to the respective bit strings, the first bit string into a second bit string having the second bit length L2,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
  • 7. The conversion method as claimed in claim 6, wherein when the first bit length L1 is 8 and the second bit length L2 is 14, the predetermined constraint condition includes 1) each of the bit strings each having the second bit length L2 is composed of an equal number of bits “0”s and “1”s,2) run lengths of all of the bit strings each having the second bit length L2 are 5 or less,3) the run lengths of all of the bit strings each having the second bit length L2 are 7 or less in a 1-bit flip,4) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 5 or less,5) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 11 or less in a 2-bit flip, and a distance between two bits to be inverted is 4 or greater, and6) a hamming distance between two bit strings each having the second bit length L2 is 4 or greater.
  • 8. The conversion method as claimed in claim 7, wherein the conversion information is created by searching for the clique that includes the 2L1 or more nodes from the graph.
  • 9. The conversion method as claimed in claim 8, wherein the clique includes a node group of 266 nodes corresponding to bit strings below:
  • 10. The conversion method as claimed in claim 9, wherein bit strings corresponding to 256 nodes of the node group are uniquely assigned to the respective bit strings each having the first bit length L1, andwherein bit strings corresponding to remaining ten nodes of the node group are used for transmission control.
  • 11. A non-transitory computer-readable recording medium having stored therein a program for causing a computer to perform a process comprising: acquiring a first bit string having a first bit length L1; andconverting, in accordance with conversion information that associates respective bit strings each having the first bit length L1 with bit strings each having a second bit length L2 uniquely assigned to the respective bit strings, the first bit string into a second bit string having the second bit length L2,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
  • 12. A reverse conversion device comprising: circuitry configured to:acquire a second bit string having a second bit length L2; andreversely convert, in accordance with conversion information that associates respective bit strings each having a first bit length L1 with bit strings each having the second bit length L2 uniquely assigned to the respective bit strings, the second bit string into a first bit string having the first bit length L1,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
  • 13. The reverse conversion device as claimed in claim 12, wherein when the first bit length L1 is 8 and the second bit length L2 is 14, the predetermined constraint condition includes 1) each of the bit strings each having the second bit length L2 is composed of an equal number of bits “0”s and “1”s,2) run lengths of all of the bit strings each having the second bit length L2 are 5 or less,3) the run lengths of all of the bit strings each having the second bit length L2 are 7 or less in a 1-bit flip,4) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 5 or less,5) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 11 or less in a 2-bit flip, and a distance between two bits to be inverted is 4 or greater, and6) a hamming distance between two bit strings each having the second bit length L2 is 4 or greater.
  • 14. The reverse conversion device as claimed in claim 13, wherein the conversion information is created by searching for the clique that includes the 2L1 or more nodes from the graph.
  • 15. The reverse conversion device as claimed in claim 14, wherein the clique includes a node group of 266 nodes corresponding to bit strings below:
  • 16. The reverse conversion device as claimed in claim 15, wherein bit strings corresponding to 256 nodes of the node group are uniquely assigned to the respective bit strings each having the first bit length L1, andwherein bit strings corresponding to remaining ten nodes of the node group are used for transmission control.
  • 17. A reverse conversion method comprising: acquiring, by one or more processors, a second bit string having a second bit length L2; andreversely converting, by the one or more processors, in accordance with conversion information that associates respective bit strings each having a first bit length L1 with bit strings each having the second bit length L2 uniquely assigned to the respective bit strings, the second bit string into a first bit string having the first bit length L1,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
  • 18. The reverse conversion method as claimed in claim 17, wherein when the first bit length L1 is 8 and the second bit length L2 is 14, the predetermined constraint condition includes 1) each of the bit strings each having the second bit length L2 is composed of an equal number of bits “0”s and “1”s,2) run lengths of all of the bit strings each having the second bit length L2 are 5 or less,3) the run lengths of all of the bit strings each having the second bit length L2 are 7 or less in a 1-bit flip,4) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 5 or less,5) a run length of a bit string obtained by concatenating two bit strings each having the second bit length L2 is 11 or less in a 2-bit flip, and a distance between two bits to be inverted is 4 or greater, and6) a hamming distance between two bit strings each having the second bit length L2 is 4 or greater.
  • 19. The reverse conversion method as claimed in claim 18, wherein the conversion information is created by searching for the clique that includes the 2L1 or more nodes from the graph.
  • 20. The reverse conversion method as claimed in claim 19, wherein the clique includes a node group of 266 nodes corresponding to bit strings below:
  • 21. The reverse conversion method as claimed in claim 20, wherein bit strings corresponding to 256 nodes of the node group are uniquely assigned to the respective bit strings each having the first bit length L1, andwherein bit strings corresponding to remaining ten nodes of the node group are used for transmission control.
  • 22. A non-transitory computer-readable recording medium having stored therein a program for causing a computer to perform a process comprising: acquiring a second bit string having a second bit length L2; andreversely converting, in accordance with conversion information that associates respective bit strings each having a first bit length L1 with bit strings each having the second bit length L2 uniquely assigned to the respective bit strings, the second bit string into a first bit string having the first bit length L1,wherein the conversion information is created by searching for a clique that includes 2L1 or more nodes, from a graph including nodes and an edge representing the bit strings each having the second bit length L2 that satisfy a predetermined constraint condition.
Priority Claims (1)
Number Date Country Kind
2021-166735 Oct 2021 JP national
PCT Information
Filing Document Filing Date Country Kind
PCT/JP2022/037497 10/6/2022 WO