WO2020203548A1 - 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路 - Google Patents

符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路 Download PDF

Info

Publication number
WO2020203548A1
WO2020203548A1 PCT/JP2020/013319 JP2020013319W WO2020203548A1 WO 2020203548 A1 WO2020203548 A1 WO 2020203548A1 JP 2020013319 W JP2020013319 W JP 2020013319W WO 2020203548 A1 WO2020203548 A1 WO 2020203548A1
Authority
WO
WIPO (PCT)
Prior art keywords
disparity
bit
symbol
circuit
coding
Prior art date
Application number
PCT/JP2020/013319
Other languages
English (en)
French (fr)
Inventor
直人 神山
日出雄 山路
Original Assignee
ローム株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ローム株式会社 filed Critical ローム株式会社
Publication of WO2020203548A1 publication Critical patent/WO2020203548A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems

Definitions

  • the present invention relates to a coding circuit.
  • 8b10b encoding is widely used as an encoding method in serial data communication.
  • 8b10b encoding 8-bit data is converted into 10-bit data, and a clock is embedded in the serial data to transmit the data and the clock with the same wiring.
  • the 8-bit transmission data word is divided into upper 3 bits and lower 5 bits, the upper 3 bit data word is converted into a 4-bit symbol based on the 3b4b conversion table, and the lower 5 bit data word is converted. It is converted into a 6-bit symbol based on the 5b6b conversion table, and the converted 4-bit symbol and 6-bit symbol are combined to obtain a 10-bit encoded symbol.
  • the disparity represents the difference xy between the number x of 1s x and the number y of 0s included in the 4-bit symbol or the 6-bit symbol.
  • the disparity of the symbol can be obtained as a value obtained by adding the bits [1] to 1 and [0] to -1, for example, when the 4-bit code is [1101], the disparity is 2 and [ The disparity of 0011] is 0.
  • the disparity of a 4-bit or 6-bit symbol can take three values of -2, 0, +2. In each code, two symbols having different disparities (or one symbol having a disparity of 0) are defined.
  • the running disparity changes with a binary value of 1 or -1.
  • the immediately preceding running disparity is -1, if a symbol with a disparity of ⁇ 2 can be selected, a symbol with +2 is selected and the running disparity is updated to +1.
  • the immediately preceding running disparity is -1, if a symbol with a disparity of 0 is input, the running disparity is maintained at -1.
  • the immediately preceding running disparity is 1, if a symbol with a disparity of ⁇ 2 can be selected, the symbol of -2 is selected and the running disparity is updated to -1. If a symbol having a disparity of 0 is input when the immediately preceding running disparity is 1, the running disparity is maintained at 1.
  • 8b10b encoding has 20% overhead because 2 bits of 10 bits do not have information.
  • the present invention has been made in such a situation, and one of the exemplary purposes of the embodiment is to provide a coding method with reduced overhead.
  • One aspect of the present invention relates to a coding circuit that converts 9-bit input data into a 10-bit symbol.
  • the coding circuit is based on a conversion circuit that converts 9-bit input data into a 10-bit symbol whose disparity is 0, ⁇ 2, ⁇ 4, and a history of multiple disparities in the past.
  • a disparity controller that selects the disparity polarity of the current symbol.
  • the overhead per 10 bits per symbol can be reduced to 1 bit, and the effective transmission rate can be increased as compared with 8b10b encoding. Further, the DC balance can be maintained by monitoring the history of disparity over a plurality of times in the past.
  • the conversion circuit may include a converter capable of outputting a 10-bit symbol whose disparity is either 0, -2, -4 or 0, + 2, + 4.
  • the disparity controller may control whether the symbol is output as it is or bit inverted.
  • the conversion circuit may further include the output of the converter and a selector that receives its inverted code.
  • the disparity controller may switch the state of the selector.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the combination of the immediately preceding disparity and the previous disparity.
  • Hardware can be simplified by monitoring only two disparities.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the total value of the immediately preceding disparity and the previous disparity.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the polarity of the immediately preceding disparity.
  • the disparity controller may include a table that defines the relationship between the total value, the immediately preceding disparity, the disparity candidate of the current symbol, and the polarity of the disparity of the current symbol.
  • the coding circuit is a conversion circuit that converts m-bit input data into an n-bit symbol whose disparity is 0, ⁇ 2, ..., ⁇ 2k (k ⁇ 2), and the past k times or the like. It comprises a disparity controller that selects the disparity polarity of the current symbol based on a history of more disparity.
  • the conversion circuit may include a converter capable of outputting an n-bit symbol whose disparity is either 0, -2, ..., -2k, or 0, + 2, ..., + 2k. ..
  • the disparity controller may control whether the symbol is output as it is or bit inverted.
  • the conversion circuit may further include the output of the converter and a selector that receives its inverted code.
  • the disparity controller may switch the state of the selector.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the total value of the disparity of the past k times.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the polarity of the immediately preceding disparity.
  • the disparity controller may include a table that defines the relationship between the total value, the immediately preceding disparity, the disparity candidate of the current symbol, and the polarity of the disparity of the current symbol.
  • the semiconductor device includes a separator that cuts out 9-bit data to be transmitted, the above-mentioned coding circuit that converts 9-bit data into a 10-bit symbol, a serializer that converts the output of the coding circuit into serial data, and serial.
  • a transmitter that transmits data may be provided.
  • the semiconductor device may be an image transmission circuit.
  • the coding circuit may be integrally integrated on one semiconductor substrate. "Integrated integration" includes cases where all the components of a circuit are formed on a semiconductor substrate or cases where the main components of a circuit are integrated integrally, and some of them are used for adjusting circuit constants. A resistor, a capacitor, or the like may be provided outside the semiconductor substrate. By integrating the circuit on one chip, the circuit area can be reduced and the characteristics of the circuit element can be kept uniform.
  • coding with less overhead can be realized.
  • FIG. 5A is a diagram for explaining disparity control in 8b10b coding
  • FIG. 5B is a diagram showing a state when the polarity of disparity is inverted for each symbol in 9b10b coding. Is. It is a figure explaining the control of running disparity in 9b10b coding.
  • FIG. 1 is a block diagram of a data transmission system 2 using the coding circuit 100 according to the embodiment.
  • the data transmission system 2 includes a semiconductor device 300 on the transmitting side and a semiconductor device 400 on the receiving side.
  • the semiconductor device 300 and the semiconductor device 400 are connected via a single-ended or differential serial transmission line 4.
  • the semiconductor device 300 includes a separator 302, a serializer 304, and a transmitter 306 in addition to the coding circuit 100.
  • the separator 302 divides the data to be transmitted to the semiconductor device 400 into the number of bits suitable for the input of the coding circuit 100.
  • the coding circuit 100 inputs 9-bit data S1 and outputs 10-bit symbol S2.
  • the coding circuit 100 is referred to as a 9b10b encoder, and the coding by the coding circuit 100 is referred to as 9b10b coding.
  • the serializer 304 converts the 10-bit symbol S2, which is the output of the coding circuit 100, into serial data S3.
  • the transmitter 306 transmits the serial data S3 to the semiconductor device 400.
  • a clock is embedded in the serial data S3 by 9b10b coding.
  • the semiconductor device 400 receives the serial data S3 from the semiconductor device 300 and processes the signal.
  • the semiconductor device 400 includes a receiver 402, a deserializer 404, and a decoding circuit 200.
  • the receiver 402 receives the serial data S3 from the semiconductor device 300.
  • the receiver 402 includes a CDR (Clock Data Recovery) circuit that reproduces the clock embedded in the serial data and latches each bit of the serial data with the reproduced clock.
  • CDR Lock Data Recovery
  • the deserializer 404 converts the serial data S4 received by the receiver 402 into 10-bit parallel data S5 (that is, a symbol).
  • the decoding circuit 200 is paired with the coding circuit 100, and restores the original 9-bit data S6 from the 10-bit symbol S5.
  • the decoding circuit 200 is also referred to as a 9b10b decoder.
  • the coding circuit 100 includes a 9b10b conversion circuit 110 and a disparity controller 120.
  • the 9b10b conversion circuit 110 converts the 9-bit input data S1 into a 10-bit symbol having a disparity (difference between the number of bits having a value of 1 and the number of bits having a value of 0) of 0, ⁇ 2, ⁇ 4. Convert to S2.
  • Disparity can be calculated by adding bit 1 included in the symbol as +1 and bit 0 as -1. For example, the disparity of "0001011000” is -4, and the disparity of the bit-inverted symbol “1110100111" is +4.
  • the disparity controller 120 selects the polarity CurrentRD of the disparity of the current symbol based on the history of disparity over a plurality of times in the past. For example, the disparity controller 120 can select the polarity CurrentRD of the disparity of the current symbol based on the combination of the immediately preceding disparity di -1 and the preceding disparity di -2 .
  • FIG. 2 is a diagram showing a flow of 9b10b coding and 9b10b decoding.
  • the left side of FIG. 2 shows the coding in the semiconductor device 300 on the transmitting side, and the right side shows the decoding in the semiconductor device 400 on the receiving side.
  • a 1-bit control code (K code) is prepared.
  • the 9-bit transmission data TX [8: 0] (that is, S1) is converted into a 10-bit data symbol based on a code table for normal data.
  • the K code is 1
  • the 9-bit transmission data TX [8: 0] is converted into a 10-bit control symbol based on a code table that defines a control symbol, which is different from the normal data. Note that the control symbol and the data symbol do not have the same code.
  • the 10-bit symbol S2 (data symbol or control symbol) is stored in the shift register in the serializer 304, and is converted into serial data S3 by bit shift.
  • the receiver 402 of the semiconductor device 400 on the receiving side receives the serial data S3 and reproduces the serial data S4 by CDR.
  • the serial data S4 is stored in a 10-bit shift register and converted into parallel data S5.
  • the decoding circuit 200 determines whether the 10-bit parallel data S5 is a control symbol or a data symbol, and converts it into the original data or the control code. When it is a control symbol, the K code is set to 1, and when it is a data symbol, the K code is set to 0.
  • 8b10b the 8-bit input is divided into 3 bits and 5 bits, and these are converted into 4-bit symbols and 6-bit symbols.
  • 9b10b the 9-bit input is directly converted into a 10-bit symbol without being divided. That is, 8b10b uses two converters, whereas 9b10b has one converter.
  • the disparity of each of the 4-bit symbol and the 6-bit symbol is 0, ⁇ 2.
  • the disparity of the 10-bit symbol can be 0, ⁇ 2, ⁇ 4.
  • the disparity of each 10B code symbol
  • the disparity of the bit-inverted inverted code is 0, + 2, + 4.
  • the inversion code of the 10B code whose disparity is 0 is not used and is treated as equivalent to the 10B code.
  • the encoding class is also shown. The method of determining the 10-bit symbol is not unique and can be arbitrarily determined by the designer.
  • FIG. 4 is a diagram showing an example of a control 10-bit symbol (10B code) used for 9b10b coding.
  • the number of control codes is nine (225,232,240,450,456,464,113,120,368 in decimal notation).
  • the 10-bit code (control symbol) corresponding to the control code does not overlap with the data symbol of FIG.
  • FIG. 5A is a diagram illustrating disparity control in 8b10b encoding.
  • the disparity polarities (+,-) are alternately selected for each symbol, thereby maintaining DC balance.
  • FIG. 5B is a diagram showing a state when the polarity of disparity is inverted for each symbol in 9b10b coding.
  • the sequence of symbols is random.
  • FIG. 4 (b) when symbols having different absolute values of disparity are consecutive and the polarity is inverted for each symbol, the running disparity becomes positively biased and the DC balance is lost. It ends up.
  • Currant RD the polarity of the current disparity
  • Sum the sum of the disparity di -1 immediately before and the disparity two times before.
  • the previous disparity is +2 and the previous disparity is -4, their total value Sum is -2. Therefore, for the polarity Current RD of the current symbol, + opposite to the polarity of the total value-is selected.
  • Selecting the positive polarity means outputting the 10b code
  • selecting the negative polarity means outputting the inverted code (alternative code).
  • the next polarity Current RD may be determined in consideration of the polarity of the immediately preceding disparity (Preview RD).
  • the previous disparity di -2 is -4 and the previous disparity di -1 is +4
  • the total value Sum is 0, but since the previous polarity (Previus RD) is +, the current polarity ( The Polar RD) can be determined as-.
  • the current polarity Current RD shall maintain the previous polarity Previous RD. It should be noted that when the current disparity is 0, the original 10b code is output instead of the inverted code regardless of whether the polarity Current RD is + or-.
  • FIG. 6 is a diagram illustrating control of running disparity in 9b10b coding.
  • i represents the cycle of symbols.
  • d i ' is a candidate disparity before each symbol of the polarity is determined, d i is the disparity after polarity determination.
  • Sum is non-zero
  • the polarity opposite to that polarity becomes the next polarity Current RD.
  • the total value Sum is zero, the polarity opposite to the current polarity Previous RD becomes the next polarity Current RD.
  • the 9b10b coding differs from the 8b10b coding in that the same polarity may be continuous.
  • FIG. 7 is a table of an example of control of running disparity in 9b10b coding.
  • Sum is the sum of the immediately preceding disparity di -1 and the preceding disparity di -2 .
  • PreviousRD is the polarity of the previous disparity d i-1,
  • CurrentRD are polar disparity d i to be selected in the current symbol.
  • the coding circuit 100 can determine the polarity based on the table of FIG.
  • FIG. 8 is a block diagram showing a configuration example of the coding circuit 100.
  • the 9b10b conversion circuit 110 includes a converter 112, a selector 114, and a bit inverting device 116.
  • the converter 112 is configured to be capable of generating a 10-bit symbol having a disparity of 0, -2, or -4. From the converter 112, a 10-bit symbol S2a corresponding to the 9-bit input data TX [8: 0] is output.
  • the converter 112 may be configured to be capable of outputting a 10-bit symbol having a disparity of 0, + 2, + 4.
  • the disparity controller 120 controls whether the output S2a of the converter 112 is output as it is or is bit-inverted and output.
  • the converter 112 may be configured by a combinational circuit (logic circuit), or may include a conversion table or memory that holds a correspondence between 9-bit input data and 10-bit symbols.
  • All bits of the 10-bit symbol are inverted by the bit inverting device 116.
  • the disparity of the output S2b of the bit inverting device 116 is one of 0, + 2, and + 4. However, the output S2b of the bit inverting device 116 when the disparity is 0 is not selected.
  • the selector 114 receives the output S2a of the converter 112 and the output S2b of the bit inverting device 116, and outputs one specified by the disparity controller 120.
  • FIG. 9 is a diagram showing a configuration example of the disparity controller 120.
  • the disparity controller 120 includes an adder 122, a register 124, and a table 126.
  • the adder 122 calculates the total value Sum of the disparity di -1 and di -2 over the past two times and stores it in the register 124.
  • the register 124 also holds a bit 125 indicating the polarity Preview RD of the past disparity di -1 .
  • Table 126 selects the current polarity Current RD based on the sum value Sum and the polarity Premier RD. Bit 125 of register 124 is updated by the current polarity Current RD.
  • the configuration of the disparity controller 120 is not limited to that shown in FIG. 9, and may be configured by a state machine.
  • FIG. 10 is a block diagram of the decoding circuit 200.
  • the decoding circuit 200 includes a conversion circuit 210 and a disparity error detector 220.
  • the conversion circuit 210 includes a converter that converts the 10-bit symbol S5 into the 9-bit code S9.
  • the converter may be composed of a combinational circuit or may include a memory.
  • the decoding circuit 200 of the semiconductor device 400 includes a disparity error detector 220 that detects an error based on the relationship between the past disparity process over a plurality of times and the current disparity.
  • FIG. 11 is a table for explaining error detection by the disparity error detector 220. This table can be determined based on the table of FIG.
  • the decoding circuit 200 refers to this table and generates a disparity error.
  • the overhead per 10 bits per symbol can be reduced to 1 bit, and the effective transmission rate can be increased as compared with 8b10b coding. Further, the DC balance can be maintained by monitoring the history of disparity over a plurality of times in the past.
  • FIG. 12 is a block diagram of an image transmission system using 9b10b coding.
  • the image transmission system 6 includes a semiconductor device 500 and a semiconductor device 600.
  • the semiconductor device 500 corresponds to the above-mentioned semiconductor device 300, and transmits image data to the semiconductor device 600.
  • the semiconductor device 500 includes a timing controller, a bridge circuit, a repeater circuit, a splitter, a replicator, a selector, a switch, a hub, and the like.
  • the semiconductor device 500 is a timing controller.
  • the semiconductor device 600 corresponds to the above-mentioned semiconductor device 400 and receives image data from the semiconductor device 500.
  • the semiconductor device 600 is a source driver and drives a display panel (not shown) based on the received image data.
  • the semiconductor device 600 may be a timing controller, a bridge circuit, a repeater circuit, a splitter, a replicator, a selector, a switch, or a hub.
  • the semiconductor device 500 and the semiconductor device 600 are connected via a plurality of (4) serial transmission lines 4A to 4D.
  • each lane is similarly configured.
  • the semiconductor device 500 includes a lane distributor 502.
  • the image data includes a plurality of pixels, and each pixel can contain 8-bit data of each subpixel of R, G, and B.
  • the lane distributor 502 divides the image data into 9 bits and assigns them to each lane. Note that the 9 bits are a mixture of bits of different colors.
  • the CRC (Cyclic Redundancy Check) circuit 510 adds a 9-bit code including a bit for inspection after the image data.
  • the scrambler 520 scrambles the output data of the CRC circuit 510.
  • the coding circuit 100 converts the scrambled 9-bit code into a 10-bit symbol.
  • the 10-bit symbol is serial-serialized by the serializer 530 and transmitted to the semiconductor device 600.
  • the deserializer 610 converts the received serial data into parallel data (10-bit symbol).
  • the decoding circuit 200 converts the 10-bit symbol into the original 9-bit code.
  • the descrambler 620 descrambles a 9-bit code.
  • the CRC circuit 630 performs a cyclic redundancy check on the 9-bit code after descramble and detects an error.
  • the disparity controller 120 is configured by using a table, but the present invention is not limited to this, and a state machine may be configured, for example.
  • Modification 2 In the embodiment, the total value Sum of the two most recent disparities di -1 and di -2 is calculated, but the sum is not limited to this, and the total value of the most recent three or more times may be calculated.
  • the disparity controller 120 may cumulatively add the past disparity. That is, the polarity Current RD of the current disparity may be determined in consideration of all the past disparity. In this case, the total value may be calculated with -1 or +1 as the initial value. As a result, the total value does not become zero, so that the current polarity Current RD can be determined only by the polarity of the total value.
  • the disparity controller 120 may determine the current polarity Current RD by the combination of the past two (or three or more times) disparity di -1 and di -2 without calculating the total value. ..
  • Modification example 4 In the embodiment, 9b10b coding has been described, but it can be extended to mbnb coding having an arbitrary number of bits (input bit number m, output bit number n).
  • the conversion circuit 110 converts the m-bit input data into an n-bit symbol having a disparity of 0, ⁇ 2, ..., ⁇ 2k (k ⁇ 2).
  • the disparity controller 120 selects the polarity of the disparity of the current symbol based on the past k (or more) combinations of disparity.
  • m n + 1, which can reduce overhead.
  • the conversion circuit may include a converter capable of outputting an n-bit symbol whose disparity is either 0, -2, ..., -2k, or 0, + 2, ..., + 2k. ..
  • the disparity controller may control whether the symbol is output as it is or bit inverted.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the total value of the disparity of the past k times.
  • the disparity controller may select the polarity of the disparity of the current symbol based on the polarity of the previous disparity when the total value is zero.
  • the disparity controller may include a table that defines the relationship between the total value, the immediately preceding disparity, the disparity candidate of the current symbol, and the polarity of the disparity of the current symbol.
  • the present invention relates to a coding technique.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)

Abstract

符号化回路100は、9ビットの入力データS1を10ビットのシンボルS2に変換する。変換回路110は、9ビットの入力データS1を、ディスパリティが0,±2,±4のいずれかである10ビットのシンボルS2に変換する。ディスパリティコントローラ120は、過去の複数回にわたるディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性を選択する。

Description

符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路
 本発明は、符号化回路に関する。
 シリアルデータ通信における符号化方式として8b10bエンコーディングが広く用いられる。8b10b符号化は、8ビットのデータを10ビットのデータに変換し、シリアルデータのなかにクロックを埋め込むことで、データとクロックを同じ配線で伝送する。
 8b10b符号化では、8ビットの送信データワードが上位3ビットと下位5ビットに分割され、上位3ビットのデータワードが3b4b変換テーブルにもとづいて4ビットシンボルに変換され、下位5ビットのデータワードが5b6b変換テーブルにもとづいて6ビットシンボルに変換され、変換後の4ビットシンボルと6ビットシンボルが結合され、10ビットの符号化シンボルを得る。
 DCバランスを改善するために、8b10b符号化では、ランニングディスパリティという概念にもとづいてシンボルが生成される。ディスパリティとは、4ビットシンボル、あるいは6ビットシンボルに含まれる1の個数xと0の個数yの差分x-yを表す。シンボルのディスパリティは、ビットの[1]を1、[0]を-1として加算した値として得ることができ、たとえば4ビットコードが[1101]であるとき、ディスパリティは2であり、[0011]のディスパリティは0である。4ビットあるいは6ビットのシンボルのディスパリティは、-2,0,+2の3値を取り得る。各コードには、ディスパリティが異なる2個のシンボル(あるいはディスパリティが0である1個のシンボル)が定義されている。
 8b10b符号化において、ランニングディスパリティは、1または-1の2値で変化する。直前のランニングディスパリティが-1であるとき、ディスパリティが±2のシンボルが選択可能である場合、+2のシンボルが選択され、ランニングディスパリティが+1に更新される。直前のランニングディスパリティが-1であるとき、ディスパリティが0のシンボルが入力されると、ランニングディスパリティは-1を維持する。
 直前のランニングディスパリティが1であるとき、ディスパリティが±2のシンボルが選択可能である場合、-2のシンボルが選択され、ランニングディスパリティが-1に更新される。直前のランニングディスパリティが1であるときに、ディスパリティが0のシンボルが入力されると、ランニングディスパリティは1を維持する。
 このように8b10bでは、ランニングディスパリティにもとづいて、1と0の個数のバランスを保っている。
 8b10b符号化は、10ビットのうち、2ビットは情報を持っておらず、20%のオーバーヘッドがある。
 本発明は係る状況においてなされたものであり、そのある態様の例示的な目的のひとつは、オーバーヘッドを低減した符号化方式の提供にある。
 本発明のある態様は、9ビットの入力データを10ビットのシンボルに変換する符号化回路に関する。符号化回路は、9ビットの入力データを、ディスパリティが0,±2,±4のいずれかである10ビットのシンボルに変換する変換回路と、過去の複数回にわたるディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性を選択するディスパリティコントローラと、を備える。
 この態様によれば1シンボル10ビットあたりのオーバーヘッドを1ビットに削減することができ、8b10b符号化に比べて実効的な伝送レートを高めることができる。また、過去の複数回にわたるディスパリティの履歴を監視することにより、DCバランスを保つことができる。
 変換回路は、ディスパリティが0,-2,-4のいずれかである、または0,+2,+4のいずれかである、10ビットのシンボルを出力可能な変換器を含んでもよい。ディスパリティコントローラは、シンボルをそのまま出力するか、ビット反転して出力するかを制御してもよい。
 変換回路は、変換器の出力と、その反転コードを受けるセレクタをさらに含んでもよい。ディスパリティコントローラは、セレクタの状態を切り替えてもよい。
 ディスパリティコントローラは、直前のディスパリティとさらにその前のディスパリティの組み合わせにもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。2回のディスパリティのみを監視することで、ハードウェアを簡素化できる。
 ディスパリティコントローラは、直前のディスパリティとさらにその前のディスパリティの合計値にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。
 ディスパリティコントローラは、合計値がゼロであるとき、直前のディスパリティの極性にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。
 ディスパリティコントローラは、合計値と直前のディスパリティ、現在のシンボルのディスパリティの候補と、現在のシンボルのディスパリティの極性の関係を規定するテーブルを含んでもよい。
 本発明の別の態様は、mビットの入力データをnビットのシンボル(n>m)に変換する符号化回路に関する。符号化回路は、mビットの入力データを、ディスパリティが0,±2,…,±2k(k≧2)のいずれかであるnビットのシンボルに変換する変換回路と、過去k回またはそれより多いのディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性を選択するディスパリティコントローラと、を備える。
 変換回路は、ディスパリティが0,-2,…,-2kのいずれかである、または0,+2,…,+2kのいずれかである、nビットのシンボルを出力可能な変換器を含んでもよい。ディスパリティコントローラは、シンボルをそのまま出力するか、ビット反転して出力するかを制御してもよい。
 変換回路は、変換器の出力と、その反転コードを受けるセレクタをさらに含んでもよい。ディスパリティコントローラは、セレクタの状態を切り替えてもよい。
 ディスパリティコントローラは、過去k回のディスパリティの合計値にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。
 ディスパリティコントローラは、合計値がゼロであるとき、直前のディスパリティの極性にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。
 ディスパリティコントローラは、合計値と直前のディスパリティ、現在のシンボルのディスパリティの候補と、現在のシンボルのディスパリティの極性の関係を規定するテーブルを含んでもよい。
 n=m+1であってもよい。
 本発明の別の態様は、半導体装置に関する。半導体装置は、送信すべきデータを9ビットずつ切り出すセパレータと、9ビットのデータを10ビットのシンボルに変換する上述の符号化回路と、符号化回路の出力をシリアルデータに変換するシリアライザと、シリアルデータを送信するトランスミッタと、を備えてもよい。半導体装置は、画像伝送回路であってもよい。
 符号化回路は、ひとつの半導体基板に一体集積化されてもよい。「一体集積化」とは、回路の構成要素のすべてが半導体基板上に形成される場合や、回路の主要構成要素が一体集積化される場合が含まれ、回路定数の調節用に一部の抵抗やキャパシタなどが半導体基板の外部に設けられていてもよい。回路を1つのチップ上に集積化することにより、回路面積を削減することができるとともに、回路素子の特性を均一に保つことができる。
 なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
 本発明のある態様によれば、オーバーヘッドの少ない符号化を実現できる。
実施の形態に係る符号化回路を利用したデータ伝送システムのブロック図である。 10b符号化および9b10b復号のフローを示す図である。 9b10b符号化に用いられる10ビットのデータシンボルの一部の一例を示す図である。 9b10b符号化に用いられる制御用の10ビットシンボルの一例を示す図である。 図5(a)は、8b10b符号化におけるディスパリティ制御を説明する図であり、図5(b)は、9b10b符号化において、シンボル毎にディスパリティの極性を反転させたときの様子を示す図である。 9b10b符号化におけるランニングディスパリティの制御を説明する図である。 9b10b符号化におけるランニングディスパリティの制御の一例のテーブルである。 符号化回路の構成例を示すブロック図である。 ディスパリティコントローラの構成例を示す図である。 復号回路のブロック図である。 ディスパリティエラー検出器によるエラー検出を説明するテーブルである。 9b10b符号化を利用した画像伝送システムのブロック図である。
 以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
 図1は、実施の形態に係る符号化回路100を利用したデータ伝送システム2のブロック図である。データ伝送システム2は、送信側の半導体装置300と受信側の半導体装置400を備える。半導体装置300と半導体装置400は、シングルエンドあるいは差動のシリアル伝送路4を介して接続されている。
 半導体装置300は、符号化回路100に加えて、セパレータ302、シリアライザ304、トランスミッタ306を備える。セパレータ302は、半導体装置400に送信すべきデータを、符号化回路100の入力に適したビット数ずつに切り分ける。本実施の形態では、符号化回路100は9ビットのデータS1を入力とし、10ビットのシンボルS2を出力する。8b10b符号化に習って、この符号化回路100を、9b10bエンコーダと称し、符号化回路100による符号化を9b10b符号化と称する。
 シリアライザ304は、符号化回路100の出力である10ビットのシンボルS2をシリアルデータS3に変換する。トランスミッタ306は、シリアルデータS3を半導体装置400に送信する。このシリアルデータS3には、9b10b符号化によってクロックが埋め込まれる。
 半導体装置400は、半導体装置300からのシリアルデータS3を受信し、信号処理する。半導体装置400は、レシーバ402、デシリアライザ404および復号回路200を備える。レシーバ402は、半導体装置300からのシリアルデータS3を受信する。レシーバ402は、シリアルデータに埋め込まれたクロックを再生し、再生したクロックでシリアルデータの各ビットをラッチするCDR(Clock Data Recovery)回路を含む。
 デシリアライザ404は、レシーバ402が受信したシリアルデータS4を、10ビットのパラレルデータS5(すなわちシンボル)に変換する。復号回路200は符号化回路100と対をなしており、10ビットのシンボルS5から、元の9ビットのデータS6を復元する。復号回路200を、9b10bデコーダとも称する。
 続いて符号化回路100について説明する。符号化回路100は、9b10b変換回路110とディスパリティコントローラ120を備える。9b10b変換回路110は、9ビットの入力データS1を、ディスパリティ(値1のビットの個数と値0のビットの個数の差)が0,±2,±4のいずれかである10ビットのシンボルS2に変換する。
 ディスパリティは、シンボルに含まれるビット1を+1、ビット0を-1として足し合わせることにより計算できる。たとえば、”0001011000”のディスパリティは-4であり、ビット反転したシンボル”1110100111”のディスパリティは+4である。
 ディスパリティコントローラ120は、過去の複数回にわたるディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性CurrentRDを選択する。たとえばディスパリティコントローラ120は、直前のディスパリティdi-1とその前のディスパリティdi-2の組み合わせにもとづいて、現在のシンボルのディスパリティの極性CurrentRDを選択することができる。
 図2は、9b10b符号化および9b10b復号のフローを示す図である。図2の左は送信側の半導体装置300における符号化を、右側は受信側の半導体装置400における復号を表す。本実施の形態において、1ビットの制御コード(Kコード)が用意される。
 符号化回路100において、Kコードが0のとき、9ビットの送信データTX[8:0](すなわちS1)は、通常のデータ用のコード表にもとづいて10ビットのデータシンボルに変換される。Kコードが1のとき、9ビットの送信データTX[8:0]は、通常のデータ用とは別の、制御用シンボルを規定するコード表にもとづいて10ビットの制御シンボルに変換される。制御シンボルとデータシンボルには、同じコードは存在しないことに留意されたい。
 10ビットのシンボルS2(データシンボルあるいは制御シンボル)は、シリアライザ304においてシフトレジスタに格納され、ビットシフトによってシリアルデータS3に変換される。
 受信側の半導体装置400のレシーバ402は、シリアルデータS3を受信し、CDRによってシリアルデータS4を再生する。デシリアライザ404において、シリアルデータS4は10ビットのシフトレジスタに格納され、パラレルデータS5に変換される。
 復号回路200は、10ビットのパラレルデータS5が、制御シンボル、データシンボルのいずれであるかを判定し、もとのデータあるいは制御コードに変換する。制御シンボルであるとき、Kコードは1とされ、データシンボルであるときKコードは0とされる。
 以上がデータ伝送システム2のデータフローである。続いて、9b10b符号化について、8b10b符号化との相違点に着目しながら説明する。
・ビット分割の有無
 8b10bでは、8ビットの入力が3ビットと5ビットに分割され、それらが4ビットシンボルと6ビットシンボルに変換される。これに対して9b10bでは、9ビットの入力を分割せずに、直接10ビットシンボルに変換する。すなわち8b10bは、変換器が2個用いられるのに対して、9b10bの変換器の個数は1個である。
 ・シンボルのディスパリティ
 8b10bでは、4ビットシンボル、6ビットシンボルそれぞれのディスパリティは、0,±2である。これに対して、9b10bでは、10ビットシンボルのディスパリティは0,±2,±4を取り得る。
 図3は、9b10b符号化に用いられる10ビットのデータシンボル(10Bコード)の一部の一例を示す図である。上述のようにこれらのシンボルは、K=0のときに使用される。各10Bコード(シンボル)のディスパリティは0,-2,-4のいずれかであり、ビット反転した反転コード(Alternateコード)のディスパリティは、0,+2,+4のいずれかである。なお、ディスパリティが0である10Bコードの反転コードは使用されず、10Bコードと等しいものとして取り扱う。図3には、エンコードクラスが併せて表記される。なお、10ビットシンボルの決め方は一意ではなく、設計者が任意に決めることができる。
 図4は、9b10b符号化に用いられる制御用の10ビットシンボル(10Bコード)の一例を示す図である。本実施の形態では、制御コードは9個(10進数表記で225,232,240,450,456,464,113,120,368)である。制御コードに対応する10ビットコード(制御シンボル)は、図3のデータシンボルとは重複しない。
 ・ディスパリティの極性の制御
 8b10b符号化では、4ビットシンボルと6ビットシンボルで、ディスパリティの極性をシンボル毎に交互に反転させる。図5(a)は、8b10b符号化におけるディスパリティ制御を説明する図である。ディスパリティの極性(+、-)は、シンボルごとに交互に選択され、これによりDCバランスが保たれる。
 図5(b)は、9b10b符号化において、シンボル毎にディスパリティの極性を反転させたときの様子を示す図である。シンボルの並びはランダムである。図4(b)に示すように、ディスパリティの絶対値が異なるシンボルが連続する場合に、極性をシンボルごとに反転させると、ランニングディスパリティは正に偏ることになり、DCバランスが失われてしまう。
 そこで9b10b符号化では、過去の複数回に渡るディスパリティの経過、言い換えると少なくとも直前のディスパリティdi-1と、その前のディスパリティdi-2にもとづいて、現在のディスパリティdの極性を選択する。具体的には直前のディスパリティdi-1と前々回のディスパリティの合計値Sumの極性にもとづいて、現在のディスパリティの極性(CurrentRDという)が決定される。たとえば、前々回のディスパリティが+2、前回のディスパリティが-4であるとき、それらの合計値Sumは、-2である。したがって現在のシンボルの極性CurrentRDは、合計値の極性-と反対の+が選択される。+の極性を選択することは、10bコードを出力することを意味し、-の極性を選択することは、反転コード(Alternativeコード)を出力することを意味する。
 便宜的に、合計値Sumが0であるときには、直前のディスパリティの極性(PreviousRD)を考慮して次の極性CurrentRDを決めてもよい。前々回のディスパリティdi-2が-4、前回のディスパリティdi-1が+4であるとき合計値Sumは0であるが、前回の極性(PreviousRD)が+であるから、現在の極性(CurrentRD)は-と決めることができる。
 なお合計値Sumが0であるときに、現在のディスパリティが0の場合は、現在の極性CurrentRDは、前回の極性PreviousRDを維持するものとする。なお、現在のディスパリティが0の場合、その極性CurrentRDが+であっても-であっても、反転コードではなく、もとの10bコードが出力されることに留意されたい。
 図6は、9b10b符号化におけるランニングディスパリティの制御を説明する図である。iはシンボルのサイクルを表す。d’は、極性が決定される前の各シンボルのディスパリティの候補であり、dは極性決定後のディスパリティである。合計値Sumが非ゼロのときには、その極性と反対の極性が、次の極性CurrentRDとなる。合計値Sumがゼロのときには、現在の極性PreviousRDと反対の極性が、次の極性CurrentRDとなる。
 図6の2サイクル目と3サイクル目に示すように、9b10b符号化では、同じ極性が連続するケースが生じうる点が、8b10b符号化と異なる。
 図7は、9b10b符号化におけるランニングディスパリティの制御の一例のテーブルである。Sumは直前のディスパリティdi-1とその前のディスパリティdi-2の合計値である。PreviousRDは、前回のディスパリティdi-1の極性であり、CurrentRDは、現在のシンボルにおいて選択すべきディスパリティdの極性である。
 符号化回路100は図7のテーブルにもとづいて、極性を決定することができる。
 図8は、符号化回路100の構成例を示すブロック図である。9b10b変換回路110は、変換器112、セレクタ114、ビット反転器116を含む。
 変換器112は、ディスパリティが0,-2,-4のいずれかである、10ビットのシンボルを生成可能に構成される。変換器112からは、9ビットの入力データTX[8:0]に応じた、10ビットのシンボルS2aが出力される。なお、変換器112を、ディスパリティが0,+2,+4のいずれかである、10ビットシンボルを出力可能に構成してもよい。ディスパリティコントローラ120は、変換器112の出力S2aをそのまま出力するか、ビット反転して出力するかを制御する。変換器112は、組み合わせ回路(ロジック回路)で構成してもよいし、9ビット入力データと10ビットシンボルの対応関係を保持する変換テーブルすなわちメモリを含んでもよい。
 10ビットのシンボルの全ビットはビット反転器116によって反転される。ビット反転器116の出力S2bのディスパリティは、0,+2,+4のいずれかとなる。ただし、ディスパリティが0であるときのビット反転器116の出力S2bが選択されることはない。
 セレクタ114は、変換器112の出力S2aとビット反転器116の出力S2bを受け、ディスパリティコントローラ120が指定する一方を出力する。
 図9は、ディスパリティコントローラ120の構成例を示す図である。ディスパリティコントローラ120は、加算器122、レジスタ124、テーブル126を含む。加算器122は、過去の2回に渡るディスパリティdi-1とdi-2の合計値Sumを計算し、レジスタ124に格納する。またレジスタ124は、過去のディスパリティdi-1の極性PreviousRDを示すビット125を保持する。テーブル126は、合計値Sumと極性PreviousRDにもとづいて、現在の極性CurrentRDを選択する。レジスタ124のビット125は、現在の極性CurrentRDによって更新される。
 ディスパリティコントローラ120の構成は図9のそれに限定されず、ステートマシンで構成してもよい。
 続いて復号回路200について説明する。図10は、復号回路200のブロック図である。復号回路200は、変換回路210と、ディスパリティエラー検出器220を備える。変換回路210は、10ビットのシンボルS5を9ビットのコードS9に変換する変換器を含む。変換器は、組み合わせ回路で構成してもよいし、メモリを含んでもよい。
 9b10b符号化では、図7のテーブルにもとづいて、ディスパリティーの極性が決定される。言い換えればこのテーブルに合致しない極性は、エラーである。そこで半導体装置400の復号回路200は、過去の複数回に渡るディスパリティの経過と、現在のディスパリティの関係にもとづいて、エラーを検出するディスパリティエラー検出器220を備える。
 図11は、ディスパリティエラー検出器220によるエラー検出を説明するテーブルである。このテーブルは、図7のテーブルにもとづいて定めることができる。復号回路200は、このテーブルを参照して、ディスパリティエラーを生成する。
 9b10b符号化によれば、1シンボル10ビットあたりのオーバーヘッドを1ビットに削減することができ、8b10b符号化に比べて実効的な伝送レートを高めることができる。また、過去の複数回にわたるディスパリティの履歴を監視することにより、DCバランスを保つことができる。
(用途)
 続いて符号化回路100および復号回路200の用途を説明する。図12は、9b10b符号化を利用した画像伝送システムのブロック図である。画像伝送システム6は、半導体装置500および半導体装置600を備える。半導体装置500は上述の半導体装置300に対応し、画像データを半導体装置600に送信する。たとえば半導体装置500は、タイミングコントローラやブリッジ回路、リピータ回路、スプリッタ、リプリケータ、セレクタ、スイッチ、ハブなどが例示される。この例では半導体装置500はタイミングコントローラである。
 半導体装置600は、上述の半導体装置400に対応し、半導体装置500からの画像データを受信する。たとえば半導体装置600はソースドライバであり、受信した画像データにもとづいて図示しないディスプレイパネルを駆動する。半導体装置600はタイミングコントローラやブリッジ回路、リピータ回路、スプリッタ、リプリケータ、セレクタ、スイッチ、ハブであってもよい。
 この例において、半導体装置500と半導体装置600は、複数(4本)のシリアル伝送路4A~4Dを介して接続される。半導体装置500および半導体装置600は、各レーンが同様に構成される。
 半導体装置500は、レーン分配器502を備える。レーン分配器502は、画像データは、複数のピクセルを含み、各ピクセルは、R,G,Bそれぞれのサブピクセルの8ビットのデータを含むことができる。レーン分配器502は、画像データを、9ビットずつに分割し、各レーンに割り当てる。9ビットには、異なる色のビットが混在することに留意されたい。
 CRC(Cyclic Redundancy Check:巡回冗長検査)回路510は、画像データの後ろに、検査用のビットを含む9ビットコードを追加する。
 スクランブラ520は、CRC回路510の出力データをスクランブルする。符号化回路100は、スクランブル後の9ビットコードを、10ビットシンボルに変換する。10ビットシンボルは、シリアライザ530によってパラレルシリアル変換され、半導体装置600に送信される。
 半導体装置600において、デシリアライザ610は、受信したシリアルデータをパラレルデータ(10ビットシンボル)に変換する。復号回路200は、10ビットシンボルを元の9ビットコードに変換する。デスクランブラ620は、9ビットコードをデスクランブルする。CRC回路630は、デスクランブル後の9ビットコードに対して巡回冗長検査を行い、エラーを検出する。
 以上が9b10b符号化の用途である。8b10b符号化では、8ビットのサブピクセルデータR,G,Bが、1シンボルに割り当てられる。これに対して、9b10b符号化では、1シンボルを構成する9ビットコードに、複数のサブピクセルR,G,Bのデータが混在することとなる。これにより、後段のスクランブル回路によるスクランブル(ノイズ拡散)の効果を高めることができ、さらに符号化回路100におけるDCバランスを改善しやすくなるという利点がある。
 以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、こうした変形例について説明する。
(変形例1)
 実施の形態ではディスパリティコントローラ120をテーブルを用いて構成したが、その限りでなく、たとえばステートマシンで構成してもよい。
(変形例2)
 実施の形態では、直近の2回のディスパリティdi-1,di-2の合計値Sumを計算したがその限りでなく、直近の3回以上の合計値を計算してもよい。
 あるいは、ディスパリティコントローラ120は、過去のディスパリティを累積加算してもよい。すなわち過去のすべてのディスパリティを考慮して、現在のディスパリティの極性CurrentRDを決定してもよい。この場合において、合計値は、-1あるいは+1を初期値として計算してもよい。これにより、合計値はゼロにならないため、合計値の極性のみによって、現在の極性CurrentRDを決定することができる。
(変形例3)
 ディスパリティコントローラ120は、合計値を計算せずに、過去の2回(あるいは3回以上)のディスパリティdi-1,di-2の組み合わせによって、現在の極性CurrentRDを決定してもよい。
(変形例4)
 実施の形態では、9b10b符号化を説明したが、任意のビット数(入力ビット数m、出力ビット数n)のmbnb符号化に拡張することができる。この場合、変換回路110は、mビットの入力データを、ディスパリティが0,±2,…,±2k(k≧2)のいずれかであるnビットのシンボルに変換する。ディスパリティコントローラ120は、過去k回(またはそれより多い)のディスパリティの組み合わせにもとづいて、現在のシンボルのディスパリティの極性を選択する。好ましくはm=n+1であり、これによりオーバーヘッドを削減できる。
 変換回路は、ディスパリティが0,-2,…,-2kのいずれかである、または0,+2,…,+2kのいずれかである、nビットのシンボルを出力可能な変換器を含んでもよい。ディスパリティコントローラは、シンボルをそのまま出力するか、ビット反転して出力するかを制御してもよい。
 ディスパリティコントローラは、過去k回のディスパリティの合計値にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。ディスパリティコントローラは、合計値がゼロであるとき、直前のディスパリティの極性にもとづいて、現在のシンボルのディスパリティの極性を選択してもよい。
 ディスパリティコントローラは、合計値と直前のディスパリティ、現在のシンボルのディスパリティの候補と、現在のシンボルのディスパリティの極性の関係を規定するテーブルを含んでもよい。
 本発明は、符号化技術に関する。
 2 データ伝送システム
 4 シリアル伝送路
 6 画像伝送システム
 100 符号化回路
 110 9b10b変換回路
 112 変換器
 114 セレクタ
 116 ビット反転器
 120 ディスパリティコントローラ
 122 加算器
 124 レジスタ
 126 テーブル
 200 復号回路
 210 変換回路
 220 ディスパリティエラー検出器
 300 半導体装置
 302 セパレータ
 304 シリアライザ
 306 トランスミッタ
 400 半導体装置
 402 レシーバ
 404 デシリアライザ
 500,600 半導体装置

Claims (24)

  1.  9ビットの入力データを10ビットのシンボルに変換する符号化回路であって、
     前記9ビットの入力データを、ディスパリティが0,±2,±4のいずれかである前記10ビットのシンボルに変換する変換回路と、
     過去の複数回にわたるディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性を選択するディスパリティコントローラと、
     を備えることを特徴とする符号化回路。
  2.  前記変換回路は、ディスパリティが0,-2,-4のいずれかである、または0,+2,+4のいずれかである、前記10ビットのシンボルを出力可能な変換器を含み、
     前記ディスパリティコントローラは、前記シンボルをそのまま出力するか、ビット反転して出力するかを制御することを特徴とする請求項1に記載の符号化回路。
  3.  前記変換回路は、前記変換器の出力と、その反転コードを受けるセレクタをさらに含み、
     前記ディスパリティコントローラは、前記セレクタの状態を切り替えることを特徴とする請求項2に記載の符号化回路。
  4.  前記ディスパリティコントローラは、直前のディスパリティとさらにその前のディスパリティの組み合わせにもとづいて、前記現在のシンボルのディスパリティの極性を選択することを特徴とする請求項1から3のいずれかに記載の符号化回路。
  5.  前記ディスパリティコントローラは、前記直前のディスパリティと前記さらにその前のディスパリティの合計値にもとづいて、前記現在のシンボルのディスパリティの極性を選択することを特徴とする請求項4に記載の符号化回路。
  6.  前記ディスパリティコントローラは、前記合計値がゼロであるとき、前記直前のディスパリティの極性にもとづいて、前記現在のシンボルのディスパリティの極性を選択することを特徴とする請求項5に記載の符号化回路。
  7.  前記ディスパリティコントローラは、前記合計値と前記直前のディスパリティ、前記現在のシンボルのディスパリティの候補と、前記現在のシンボルのディスパリティの極性の関係を規定するテーブルを含むことを特徴とする請求項6に記載の符号化回路。
  8.  mビットの入力データをnビットのシンボル(n>m)に変換する符号化回路であって、
     前記mビットの入力データを、ディスパリティが0,±2,…,±2k(k≧2)のいずれかである前記nビットのシンボルに変換する変換回路と、
     過去k回またはそれより多いのディスパリティの履歴にもとづいて、現在のシンボルのディスパリティの極性を選択するディスパリティコントローラと、
     を備えることを特徴とする符号化回路。
  9.  前記変換回路は、
     ディスパリティが0,-2,…,-2kのいずれかである、または0,+2,…,+2kのいずれかである、前記nビットのシンボルを出力可能な変換器を含み、
     前記ディスパリティコントローラは、前記シンボルをそのまま出力するか、ビット反転して出力するかを制御することを特徴とする請求項8に記載の符号化回路。
  10.  前記変換回路は、前記変換器の出力と、その反転コードを受けるセレクタをさらに含み、
     前記ディスパリティコントローラは、前記セレクタの状態を切り替えることを特徴とする請求項9に記載の符号化回路。
  11.  前記ディスパリティコントローラは、前記過去k回のディスパリティの合計値にもとづいて、前記現在のシンボルのディスパリティの極性を選択することを特徴とする請求項10に記載の符号化回路。
  12.  前記ディスパリティコントローラは、前記合計値がゼロであるとき、直前のディスパリティの極性にもとづいて、前記現在のシンボルのディスパリティの極性を選択することを特徴とする請求項11に記載の符号化回路。
  13.  前記ディスパリティコントローラは、前記合計値と前記直前のディスパリティ、前記現在のシンボルのディスパリティの候補と、前記現在のシンボルのディスパリティの極性の関係を規定するテーブルを含むことを特徴とする請求項12に記載の符号化回路。
  14.  n=m+1であることを特徴とする請求項9から13のいずれかに記載の符号化回路。
  15.  送信すべきデータを9ビットずつ切り出すセパレータと、
     前記9ビットのデータを10ビットのシンボルに変換する請求項1から14のいずれかに記載の符号化回路と、
     前記符号化回路の出力をシリアルデータに変換するシリアライザと、
     前記シリアルデータを送信するトランスミッタと、
     を備えることを特徴とする半導体装置。
  16.  画像伝送回路であることを特徴とする請求項15に記載の半導体装置。
  17.  請求項15または16に記載の半導体装置を備えることを特徴とするデータ伝送システム。
  18.  10ビットのシンボルを9ビットのデータに変換する復号回路であって、
     前記10ビットのシンボルは、9ビットのデータを、ディスパリティが0,±2,±4のいずれかである前記10ビットのシンボルに変換する9b10b符号化により生成されたものであり、各シンボルのディスパリティの極性は、過去の複数回にわたるディスパリティの履歴にもとづいて決定されており、
     前記復号回路は、
     前記10ビットのシンボルを9ビットのデータに変換する変換回路と、
     過去の複数回に渡るディスパリティの経過と、現在のディスパリティの関係にもとづいて、エラーを検出するディスパリティエラー検出器と、
     を備えることを特徴とする復号回路。
  19.  nビットのシンボルをmビット(n>m)のデータに変換する復号回路であって、
     前記nビットのシンボルは、mビットのデータを、ディスパリティが0,±2,±4のいずれかである前記nビットのシンボルに変換する9b10b符号化により生成されたものであり、各シンボルのディスパリティの極性は、過去の複数回にわたるディスパリティの履歴にもとづいて決定されており、
     前記復号回路は、
     前記nビットのシンボルをmビットのデータに変換する変換回路と、
     過去の複数回に渡るディスパリティの経過と、現在のディスパリティの関係にもとづいて、エラーを検出するディスパリティエラー検出器と、
     を備えることを特徴とする復号回路。
  20.  シリアルデータを受信するレシーバと、
     前記レシーバが受信したシリアルデータを10ビットのパラレルデータであるシンボルに変換するデシリアライザと、
     前記10ビットのシンボルを、9ビットのデータに変換する請求項18または19に記載の復号回路と、
     を備えることを特徴とする半導体装置。
  21.  請求項20に記載の半導体装置を備えることを特徴とするデータ伝送システム。
  22.  請求項15または16に記載の半導体装置と、
     請求項20に記載の半導体装置と、
     を備えることを特徴とするデータ伝送システム。
  23.  9ビットの入力データを10ビットのシンボルに変換する符号化方法であって、
     前記9ビットの入力データを、ディスパリティが0,2,4のいずれかであるシンボルに変換するステップと、
     過去複数回にわたるディスパリティの履歴にもとづいて、前記シンボルを反転もしくは非反転するステップと、
     を備えることを特徴とする符号化方法。
  24.  mビットの入力データをnビットのシンボル(n>m)に変換する符号化方法であって、
     前記mビットの入力データを、ディスパリティが0,2,…,2k(k≧2)のいずれかである前記nビットのシンボルに変換するステップと、
     過去k回またはそれより多いのディスパリティの履歴にもとづいて、前記シンボルを反転もしくは非反転するステップと、
     を備えることを特徴とする符号化方法。
PCT/JP2020/013319 2019-03-29 2020-03-25 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路 WO2020203548A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019066764A JP2022107067A (ja) 2019-03-29 2019-03-29 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路
JP2019-066764 2019-03-29

Publications (1)

Publication Number Publication Date
WO2020203548A1 true WO2020203548A1 (ja) 2020-10-08

Family

ID=72667799

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/013319 WO2020203548A1 (ja) 2019-03-29 2020-03-25 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路

Country Status (2)

Country Link
JP (1) JP2022107067A (ja)
WO (1) WO2020203548A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018886A1 (ja) * 2022-07-20 2024-01-25 ローム株式会社 Dcバランスエンコード方法、デコード方法、送信回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213263A (ja) * 2009-02-10 2010-09-24 Panasonic Corp 送信装置
WO2010146714A1 (ja) * 2009-06-19 2010-12-23 富士通株式会社 データ転送方法、コード変換回路及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010213263A (ja) * 2009-02-10 2010-09-24 Panasonic Corp 送信装置
WO2010146714A1 (ja) * 2009-06-19 2010-12-23 富士通株式会社 データ転送方法、コード変換回路及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AL-QAZWINI ZAINEB ET AL.: "Line Coding for 10-Gb/s Directly Modulated Lasers", 2010 CONFERENCE ON OPTICAL FIBER COMMUNICATION (OFC/NFOEC), COLLOCATED NATIONAL FIBER OPTIC ENGINEERS CONFERENCE, 18 May 2010 (2010-05-18), XP055745948, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5465522> [retrieved on 20200609] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024018886A1 (ja) * 2022-07-20 2024-01-25 ローム株式会社 Dcバランスエンコード方法、デコード方法、送信回路

Also Published As

Publication number Publication date
JP2022107067A (ja) 2022-07-21

Similar Documents

Publication Publication Date Title
US20030095606A1 (en) Method and apparatus for multi-level signaling
JPH05284180A (ja) 10ビットデータバイトを符号化し送信しかつ受信する方法および10b/12bモードの送信装置
JP4902665B2 (ja) データ伝送装置および伝送符号の生成方法
JP2004523188A5 (ja)
JP2933872B2 (ja) データ伝送用の符号化方法および装置
KR100279752B1 (ko) 고속 광 전송 시스템을 위한 비트 삽입/조작 선로 부호의 부/복호화 장치
JP2839868B2 (ja) 5ビット4トリット符号体系
JPH0750588A (ja) nビットソースワード・mビット4チャネルワード間符号化・復号装置
TW423229B (en) Apparatus and method for providing direct current balanced code
KR100281738B1 (ko) 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치
EP0886407B1 (en) 5B6B coding for split channel transmission
WO2020203548A1 (ja) 符号化回路および半導体装置、符号化方法、データ伝送システム、復号回路
US11777765B2 (en) Signal transmission system, transmitter encoding apparatus and receiver decoding apparatus
CN115733606A (zh) 用于对数据进行编码和解码的方法以及转换编码器
US6438728B1 (en) Error character generation
CN115314185A (zh) 编码器和解码器
US7170431B2 (en) Data transmitting circuit and method based on differential value data encoding
US7593468B2 (en) Method of interfacing a high speed signal
JP5106757B2 (ja) 電圧レベルコーディングシステム及び方法
CN114257336B (zh) 信号传输系统与发射端编码装置
JP2010268180A (ja) デジタル信号伝送システム、送信部および受信部
JP2003087121A (ja) コードレートを増加させるためのブロック符号化/復号化方法及び装置
WO2024018886A1 (ja) Dcバランスエンコード方法、デコード方法、送信回路
JPS63209325A (ja) nビツトmビツト符号変換制御方式
JP4491579B2 (ja) 通信方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20785406

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20785406

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP