Data encoding method, encoder, and data decoding method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SAMSUNG DISPLAY CO LTD
- Filing Date
- 2022-10-05
- Publication Date
- 2026-08-04
AI Technical Summary
【0028】 このように本発明は、入力ワードを前処理することによって破損による電波を減らすことができる。
Smart Images

Figure 0007900251000009 
Figure 0007900251000010 
Figure 0007900251000011
Abstract
Description
Technical Field
[0001] The present invention relates to a data communication system, and more particularly to a data encoding method, an encoder, and a data decoding method.
[0002] This application claims priority to U.S. Patent Application No. 63 / 252,948, filed with the United States Patent and Trademark Office on October 6, 2021 (inventive title: TRANSITION ENCODING METHOD WITH REDUCED ERROR PROPAGATION), the entire content of which is incorporated herein by reference.
Background Art
[0003] Generally, serial data communication is commonly used not only in wired communication systems and optical fiber communication systems but also in wireless communication systems. In serial communication of digital data, when the transmitter does not transmit a clock signal along with the data stream, the receiver has to regenerate the clock using the timing information contained in the data stream. The process of extracting the timing information from the serial data stream is known as clock recovery and is important for the receiving circuit to decode the transmitted symbols.
[0004] By modifying the transmitted data so that a sufficient number of transitions exist within the data stream, clock recovery at the receiver can be assisted. In other words, the worst-case run length without transitions must be limited. To cause transitions to occur frequently, the transmitter can use a transition encoding algorithm to encode the raw data so that transitions occur periodically.
[0005] The above information described in the background art section is only for enhancing the understanding of the present invention and may include information that is not prior art already known to those skilled in the art. [Overview of the project] [Problems that the invention aims to solve]
[0006] The problem that this invention aims to solve is to reduce error propagation in a system and method that encodes a transmission stream to enable clock recovery at the receiver. [Means for solving the problem]
[0007] According to one embodiment of the present invention, the transmitter preprocesses the data stream using key values before encoding the data stream. According to one embodiment of the present invention, the receiver decodes the encoding stream by applying a binary XOR operation to consecutive encoding words in the received encoding stream.
[0008] An input data encoding method according to one embodiment of the present invention includes receiving input data including a plurality of input words, including a first input word and a second input word; generating a plurality of conversion words including at least a first conversion word based on the first input word and a second conversion word based on the first conversion word and the second input word; identifying a key value based on the plurality of conversion words; and generating a plurality of encoding words based on the key value and the plurality of conversion words.
[0009] According to one embodiment of the present invention, the first input word may be the (i-1)th input word, the second input word may be the ith input word, where i is an integer greater than 1, the first conversion word may be the (i-1)th conversion word, and the second conversion word may be the ith conversion word.
[0010] According to one embodiment of the present invention, generating the plurality of conversion words may include generating the first conversion word as the first input word, and generating the second conversion word by performing a binary XOR operation on the second input word and the first conversion word.
[0011] According to one embodiment of the present invention, generating the plurality of conversion words may include generating the first conversion word by performing a binary XOR operation on the first input word and a previous conversion word among the plurality of conversion words, and generating the second conversion word by performing a binary XOR operation on the second input word and the first conversion word.
[0012] According to one embodiment of the present invention, the bit length of the first input word may be the same as the bit length of the first conversion word.
[0013] According to one embodiment of the present invention, the bit length of the first conversion word may be the same as the bit length of one of the plurality of encoding words.
[0014] According to one embodiment of the present invention, the key value has the same bit length as one of the plurality of conversion words, and does not have to be the same as any of the plurality of conversion words.
[0015] According to one embodiment of the present invention, the plurality of encoding words include a first encoding word and a second encoding word, wherein the first encoding word is based on at least the key value and the second encoding word is based on the key value and the first conversion word.
[0016] According to one embodiment of the present invention, generating the plurality of encoding words may include generating the first encoding word as the key value, and generating the second encoding word by performing a binary XOR operation on the first conversion word and the key value.
[0017] According to one embodiment of the present invention, generating the plurality of encoding words may include generating the first encoding word by performing a binary XOR operation on the first conversion word and the key value, and generating the second encoding word by performing a binary XOR operation on the second conversion word and the key value.
[0018] According to one embodiment of the present invention, the plurality of conversion words represented by {y1, y2, ..., yN} are expressed as {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the plurality of input words, N is an integer greater than 2, and ^ may be a symbol for a binary XOR operation.
[0019] According to one embodiment of the present invention, the plurality of conversion words are represented by {D, y1^D, y2^D, ..., yN^D}, where D can represent the key value.
[0020] An input data encoding method according to one embodiment of the present invention may further include transmitting transmission data, which includes the plurality of encoded data, to a receiver via a communication channel.
[0021] A transition encoder for input data encoding according to one embodiment of the present invention includes a processor and a processor memory subordinate to the processor that stores instructions. When the processor executes an instruction, the processor receives input data including a plurality of input words, including a first input word and a second input word; generates a plurality of conversion words including at least a first conversion word based on the first input word and a second conversion word based on the first conversion word and the second input word; identifies a key value based on the plurality of conversion words; and generates a plurality of encoding words based on the key value and the plurality of conversion words.
[0022] A transmission data decoding method according to one embodiment of the present invention includes receiving transmission data containing a plurality of encoding words, including a first encoding word and a second encoding word, and generating a first decoding word among the plurality of decoding words by performing a binary XOR operation on the first and second encoding words.
[0023] According to one embodiment of the present invention, the first and second encoding words may be consecutive words.
[0024] According to one embodiment of the present invention, the plurality of encoding words are represented by {D, y1^D, y2^D, ..., yN^D}, where {y1, y2, ..., yN} represent the plurality of conversion words, D represents the key value used to encode the plurality of encoding words, and ^ may be a symbol of the binary XOR operation.
[0025] According to one embodiment of the present invention, the plurality of conversion words are represented by {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the plurality of decoding words, and N may be an integer greater than 2.
[0026] According to an embodiment of the present invention, the bit length of the first encoding word may be the same as the bit length of the first decoding word.
[0027] According to an embodiment of the present invention, receiving the transmission data may include receiving the transmission data from a transmitter through a communication channel.
Advantages of the Invention
[0028] Thus, the present invention can reduce radio waves due to damage by preprocessing an input word.
Brief Description of the Drawings
[0029] [Figure 1a] It is a block diagram of a serial data communication system according to an embodiment of the present invention. [Figure 1b] It is a block diagram of a transmitter / receiver of a serial data communication system according to an embodiment of the present invention. [Figure 2] It shows a packet divided into a number of words according to an embodiment of the present invention. [Figure 3] It shows an input data encoding process according to an embodiment of the present invention. [Figure 4] It shows an input data decoding process according to an embodiment of the present invention.
Modes for Carrying Out the Invention
[0030] The detailed description below relates to embodiments of a data transition encoding / decoding system and method in serial communication and does not represent the only form embodied or utilized by the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, functions and structures that are the same or equivalent to those embodied in different embodiments are also included within the scope of the present invention. The same or similar components throughout the specification are denoted by the same reference numerals.
[0031] As a related technique, to achieve run-length limited transmission, the transmitter can convert input data into encoded words for transmission. This is possible by defining a key based on the input data, encoding each word using that key, and transmitting the key along with the encoded words to the receiver. The encoded data has the desired run-length limitation. Again, the receiver identifies the key in the transmitted data and uses it to decode the received encoded words to obtain the original input data. However, if there is an error in the identified key (e.g., due to a lossy / noisy communication channel), all words encoded with that key may be incorrectly decoded. As a result, the error in the identified key may propagate to the decoded words, causing errors in many words of the received data. This requires data retransmission, which can reduce the overall transmission rate of the transmitter-receiver system.
[0032] To mitigate such error propagation, one embodiment of the present invention includes a transition encoder in which the transmitter preprocesses the input data words with a running XOR or accumulative XOR operation, and applies a key value to the preprocessed words to generate encoded words. The encoded words are transmitted to a receiver, which decodes the received encoded words by sequentially performing an XOR operation on two consecutive encoded words at a time to obtain the original input words. Using this method, errors in the key value or other received encoded words will result in errors in at most two words. Therefore, unlike related techniques, errors do not propagate through the chain of encoded words.
[0033] Figure 1a is a block diagram of serial data communication system 1 according to one embodiment of the present invention. Figure 1b is a block diagram of the transmitter / receiver of serial data communication system 1 according to one embodiment of the present invention.
[0034] Referring to Figure 1a, a serial data communication system 1 according to one embodiment of the present invention includes a transmitter 10, a communication channel (i.e., a serial communication channel) 15, and a receiver 20. The transmitter 10 may include a data encoder 12 and / or compressor that encodes and / or compresses an input data stream to generate transmission data to be transmitted to the receiver 20 through the communication channel 15. The receiver 20 may include a data decoder and / or decompressor 22 that decodes or decompresses the data stream received by the receiver 20 to restore the input data stream. The receiver 20 may also include a clock recovery circuit 24.
[0035] According to one embodiment of the present invention, the transmitter 10 includes a transition encoder 100 which encodes a transmission data stream such that transitions occur at least at a specific frequency, where the specific frequency is such that the receiver 20 can extract a clock signal from the encoded data stream (e.g., the transition-encoded data stream) transmitted through the communication channel 15. In other words, the transition encoder 100 limits the run-length of the encoded data stream.
[0036] As shown in Figure 1b, the operations performed by the components of the transmitter 10 and receiver 20 can be embodied in a “processing circuit,” “processing device,” or “processor” 30. The “processing circuit” can be embodied using hardware, firmware, software, or a combination thereof. The processing circuit can include, for example, programmable logic devices such as application-specific integrated circuits (ASICs), general-purpose or dedicated central processing units (CPUs), digital signal processing devices (DSPs), graphics processing units (GPUs), and FPGAs. Each function in the processing circuit can be performed by general-purpose hardware such as a CPU that executes instructions stored in wired hardware or non-transitory storage media that perform that function. The processing circuit can be fabricated on a single printed wiring board (PWB) or distributed across interconnected PWBs. The processing circuit can include other processing circuits, for example, FPGAs and CPUs interconnected on a PWB. The processor memory 32, which is subordinate to the processor 30, can contain instructions, and when the processor 30 executes these instructions, it can perform the operations described with reference to Figures 1a, 2 to 4.
[0037] Figure 2 shows a packet divided into multiple words by one embodiment of the present invention.
[0038] Referring to Figures 1a and 2, in one embodiment of the present invention, the transition encoder 100 divides the input data [compressed / encoded or not compressed by the data compressor and / or encoder 12] into a number of input data packets (e.g., bitstreams). Each input data packet (also called an input packet) is divided into N words / digits, each word / digit containing q bits. Thus, a data packet (X) can be represented as follows:
[0039]
number
[0040] Here, x1, x2, ..., xN represent N words / digits that make up the input packet, each of which has a value between 0 and 2q-1. In the example in Figure 2, each word contains 6 bits (i.e., q=6) and has a value in the range [0:63]. However, embodiments of the present invention are not limited thereto, and each word can have any number of bits (e.g., 8 bits).
[0041] The transition encoder 100 encodes / scrambles each word to ensure a transition for each word / digit, and limits the run-length of the transmitted data to the desired value.
[0042] According to one embodiment of the present invention, the transition encoder 100 preprocesses an input data packet to generate a transformed packet (Y) containing a plurality of transformed words (y0, y1, ..., yN), where each transformed word has a value between 0 and 2q-1. Each transformed word (y) can be based on one or more input words (x). In one embodiment of the present invention, the transition encoder 100 generates a transformed word by applying a forward XOR operation or a cumulative XOR operation to the input word. A transformed word (yi) (where i is an integer greater than 1) can be expressed as follows:
[0043]
number
number
[0044] The transition encoder 100 then determines a key value (D) based on a plurality of conversion words by identifying a value different from each conversion word. For example, the transition encoder 100 can enumerate all possible binary values of words having the same bit length as the conversion word, compare each binary value with each conversion word, and then select a first binary value different from each conversion word as the key value. However, embodiments of the present invention are not limited thereto, and any suitable method can be used to determine the key value. Here, the key value has the same number of bits (e.g., bit length) as the conversion word and the input word.
[0045] The transition encoder 100 generates an encoding packet containing multiple encoding words to be transmitted to the receiver 20. The encoding packet is based on a key value and a conversion packet. In one embodiment of the present invention, each encoding word is the result of performing an XOR operation on the corresponding conversion word and key value. Thus, the encoded packet (Z) can be represented as follows:
number
[0046] According to one embodiment of the present invention, when the receiver 20 receives transmission data through the communication channel 15, the transition decoder 200 decodes each of the received encoding words based on the corresponding pair of encoding words, and generates a decoded packet (X') represented as {x'1, x'2, ..., x'N+1}. In one embodiment of the present invention, the decoded word (x'i) (where i is an integer of 1 or more) can be represented as follows.
number
number
number
number
[0047] Therefore, assuming that the received encoding packet is not altered by any errors, the receiver 20 [e.g., transition decoder 200] can reconstruct the original input packet by performing an XOR operation on consecutive words of the received encoding packet. However, if there is an error in any of the words received by the receiver 20, that error will affect at most two of the decoded words and will not propagate through the chain, thus not affecting the other decoded words. For example, if the first encoding value (z1), i.e., the key value (D), is not received properly due to an error, only the first decoded word (x'1) will be affected, and this error will not affect the calculation of the remaining decoded words. Similarly, if there is an error in the second encoding value (z2), the calculation of the second and third decoded words (x'2, x'3) which include the second encoding value (z2) will also be erroneous. However, the calculation of the remaining decoded words is not related to the second encoding value (z2) and is therefore not affected by this error.
[0048] Therefore, by preprocessing the input word represented by equation 3 and reducing the decoding operation to two consecutive words received, the serial data communication system 1 can isolate the error propagation of any single error to the two corresponding consecutive encoded words. This is in contrast to conventional techniques where corruption of the key value during transmission can cause corruption of the entire received packet. Furthermore, according to one embodiment of the present invention, the serial data communication system 1 achieves this intended effect without adding any overhead to the transition encoding scheme.
[0049] Figure 3 shows the input data encoding process 300 according to one embodiment of the present invention.
[0050] In one embodiment of the present invention, the transmitter 10 [e.g., transition encoder 100] receives input data including a plurality of input words (e.g., x1, x2, ..., xN) including a first input word and a second input word (S302). In one example, the first input word may be the (i-1)th input word (xi-1), and the second input word may be the i-th input word (xi) (where i is an integer greater than 1).
[0051] The transmitter 10 then generates a plurality of conversion words, including a first conversion word and a second conversion word (S304). The first conversion word is the (i-1)th conversion word (yi-1), and the second input word may be the i-th conversion word (yi). The first conversion word can be based on at least the first input word, and the second conversion word can be based on the first conversion word and the second input word. For example, the generation of a plurality of conversion words includes generating the first conversion word as the first input word, and generating the second conversion word by performing a binary XOR operation on the second input word and the first conversion word. For example, the generation of a plurality of conversion words includes generating the first conversion word by performing a binary XOR operation on the first input word and a previous conversion word among the plurality of conversion words, and generating the second conversion word by performing a binary XOR operation on the second input word and the first conversion word. Here, the bit length of the first / second input word is the same as the bit length of the first / second conversion word and the bit length of the first / second encoding word.
[0052] In one embodiment of the present invention, the transmitter 10 determines a key value (D) based on a plurality of conversion words (S306), and generates a plurality of encoding words (e.g., z1, z2, ..., zN) based on the key value and the plurality of conversion words (S308). In one example, the key value has the same bit length as one of the plurality of conversion words and does not match any of the binary values (or binary complements) of the plurality of conversion words. The plurality of encoding words include at least a first encoding word based on the key value and a second encoding word based on the key value and the first conversion word. In one example, the generation of the plurality of encoding words may include generating the first encoding word as the key value and generating the second encoding word by performing a binary XOR operation on the first conversion word and the key value. In another example, the generation of the plurality of encoding words may include generating the first encoding word by performing a binary XOR operation on the first conversion word and the key value and generating the second encoding word by performing a binary XOR operation on the second conversion word and the key value.
[0053] Figure 4 shows the transmission data decoding process 400 according to one embodiment of the present invention.
[0054] In one embodiment of the present invention, a receiver 20 receives transmission data containing a plurality of encoding words from a transmitter 10 via a communication channel 15 (S402). The encoding words include a first encoding word and a second encoding word. The receiver 20 [e.g., a transition decoder 200] generates a plurality of decoding words (S404). The receiver 20 generates a first decoding word from the plurality of decoding words by performing a binary XOR operation on the first and second encoding words. In one embodiment of the present invention, the first and second encoding words are consecutive words. The bit length of the first encoding word may be the same as the bit length of the first decoding word.
[0055] As described above, according to one embodiment of the present invention, transition encoding of XOR-cumulative packets enables differential sensing of the encoded word at the receiver. The transition encoding method preprocesses the input word packet by performing a cumulative XOR operation on the input word, and then ensures a transition in the transmitted data stream using an XOR-based transition encoding technique with a transition key. The transition decoding method of the receiver 20 is based on the XOR of two consecutive data for sensing.
[0056] Terms such as "first," "second," and "third" are used for many elements, components, regions, layers, and parts, but these are not limited by such modifiers. Such terms are used to distinguish one element, component, region, layer, or part from other elements, components, regions, layers, or parts, and do not fall outside the spirit and scope of the present invention.
[0057] The terms used herein are for the purpose of describing specific embodiments and are not intended to limit the invention. Unless otherwise specified, numbers here include all singular or plural. When a feature, stage, operation, part, component, etc., is “included,” it means that other features, stages, operations, parts, components, etc., may also be included in addition to that part. The “and / or” expression includes all combinations of one or more of the enumerated items. When describing embodiments of the invention, the “may” expression means that it is applicable to “one or more embodiments of the invention.” The term “exemplary” refers to an example or drawing.
[0058] Words like "use" and "utilize" can be used with similar meanings in conjunction with other similar expressions.
[0059] When describing embodiments of the present invention, the use of the expression "may" refers to one or more embodiments of the invention. The term "exemplary" is used to illustrate an example.
[0060] Although specific embodiments have been described in detail above, these embodiments are not intended to limit the scope of the present invention as described. Those skilled in the art will understand that the aforementioned coupling and operation structures and methods can be modified or altered without significantly departing from the principles and scope of the invention expressed in the claims and their equivalents. [Explanation of symbols]
[0061] 1: Serial data communication system 10: Transmitter 12: Data Encoder / Compressor 15: Communication Channel 20: Receiver 22: Data Decoder / Decompressor 24: Clock recovery circuit 30: Processor 32: Processor memory 100: Transfer encoder 200: Transfer Decoder
Claims
1. The system receives input data containing multiple input words, including a first input word and a second input word. At least a first converted word based on the first input word and a plurality of converted words including a first converted word based on the first converted word and a second converted word based on the second input word are generated. Based on the aforementioned plurality of conversion words, a key value is identified, and To generate multiple encoding words based on the aforementioned key value and the aforementioned multiple conversion words, Includes, The aforementioned multiple conversion words, denoted as {y1, y2, ..., yN}, are represented as {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the aforementioned multiple input words, N is an integer greater than 2, and ^ is a symbol representing the binary XOR operation. The aforementioned multiple encoding words are represented as {D, y1^D, y2^D, ..., yN^D}, where D represents the key value. Input data encoding method.
2. The first input word is the (i-1)th input word, the second input word is the ith input word, and i is an integer greater than 1. The first conversion word is the (i-1)th conversion word, and the second conversion word is the ith conversion word. The input data encoding method according to claim 1.
3. Generating the aforementioned multiple conversion words is, The first conversion word is generated as the first input word, and The second conversion word is generated by performing a binary XOR operation on the second input word and the first conversion word. The input data encoding method according to claim 1, including the method described in claim 1.
4. Generating the aforementioned multiple conversion words is, The first converted word is generated by performing a binary XOR operation on the first input word and the previous converted word among the plurality of converted words, and The second conversion word is generated by performing a binary XOR operation on the second input word and the first conversion word. The input data encoding method according to claim 1, including the method described in claim 1.
5. The input data encoding method according to claim 1, wherein the bit length of the first input word is the same as the bit length of the first conversion word.
6. The input data encoding method according to claim 1, wherein the bit length of the first conversion word is the same as the bit length of one of the plurality of encoding words.
7. The input data encoding method according to claim 1, wherein the key value has the same bit length as one of the plurality of conversion words and is not the same as any of the plurality of conversion words.
8. The input data encoding method according to claim 1, wherein the plurality of encoding words include a first encoding word and a second encoding word, the first encoding word being based at least on the key value and the second encoding word being based on the key value and the first conversion word.
9. Generating the aforementioned multiple encoding words is The first encoding word is generated as the key value, and The second encoding word is generated by performing a binary XOR operation on the first conversion word and the key value. The input data encoding method according to claim 8, including the method described in claim 8.
10. Generating the aforementioned multiple encoding words is The first encoding word is generated by performing a binary XOR operation on the first conversion word and the key value, and The second encoding word is generated by performing a binary XOR operation on the second conversion word and the key value. The input data encoding method according to claim 8, including the method described in claim 8.
11. The input data encoding method according to claim 1, further comprising transmitting the transmission data, which includes the plurality of encoding words, to a receiver via a communication channel.
12. Processor, and Processor memory that is subordinate to the aforementioned processor and stores instructions. Includes, When the processor executes the instruction, the processor The system receives input data containing multiple input words, including a first input word and a second input word. At least a first converted word based on the first input word and a plurality of converted words including a first converted word based on the first converted word and a second converted word based on the second input word are generated. Based on the aforementioned multiple conversion words, a key value is identified, Multiple encoding words are generated based on the aforementioned key value and the multiple conversion words. The aforementioned multiple conversion words, denoted as {y1, y2, ..., yN}, are represented as {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the aforementioned multiple input words, N is an integer greater than 2, and ^ is a symbol representing the binary XOR operation. The aforementioned multiple encoding words are represented as {D, y1^D, y2^D, ..., yN^D}, where D represents the key value. A transfer encoder for input data encoding.
13. Receive transmission data containing multiple encoding words, including a first encoding word and a second encoding word, and The first decoding word is generated from among multiple decoding words by performing a binary XOR operation on the first and second encoding words. Includes, The aforementioned multiple encoding words are represented by {D, y1^D, y2^D, ..., yN^D}, where {y1, y2, ..., yN} represent the multiple conversion words, D represents the key value used to encode the aforementioned multiple encoding words, and ^ is a symbolic representation of the binary XOR operation. The aforementioned multiple conversion words are represented as {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the aforementioned multiple decoding words, and N is an integer greater than 2. A method for decoding transmitted data.
14. The transmission data decoding method according to claim 13, wherein the first and second encoding words are consecutive words.
15. The transmission data decoding method according to claim 13, wherein the bit length of the first encoding word is the same as the bit length of the first decoding word.
16. The step of receiving the aforementioned transmission data is: The transmission data is received from the transmitter via a communication channel. The transmission data decoding method according to claim 13, including the method described in claim 13.
17. Processor, and Includes a processor memory that is subordinate to the aforementioned processor and stores instructions, When the processor executes the instruction, the processor Receiving transmission data containing multiple encoding words, including a first encoding word and a second encoding word, and This includes generating a first decoded word among a plurality of decoded words by performing a binary XOR operation on the first and second encoding words, The aforementioned multiple encoding words are represented by {D, y1^D, y2^D, ..., yN^D}, where {y1, y2, ..., yN} represent the multiple conversion words, D represents the key value used to encode the aforementioned multiple encoding words, and ^ is a symbolic representation of the binary XOR operation. The aforementioned multiple conversion words are represented as {x1, x2^x1, ..., xN^...^x2^x1}, where {x1, x2, ..., xN} represent the aforementioned multiple decoding words, and N is an integer greater than 2. A transfer decoder for transmission data decoding.