伝送路符号・ライン符号(line code)は、主にデジタル情報を変換したもので、伝送路や記憶媒体の特性に適した形式で表した符号の総称。電圧・電流・光のパルス波形などの物理信号パターンを構成するのに用いる。

## 概要

伝送路符号では、主にデータとクロックを1つの物理量として同時に生成するための表現方法(セルフクロッキング信号)を扱う。「伝送路」の名称が付いているが、符号化された信号は伝送媒体から送信したりデータ記憶媒体に記録したりすることができる。これらの2種類の用途は一見大きく異なって見えるが、同じ方式が使用されるほど特性が類似していることがある。

伝送路符号の物理信号出力では主な用途に以下のものがある。

- 伝送路符号化された信号は、電圧(しばしば差動信号を使用する)・電流・光強度の変動の形で電話線・LANケーブル・同軸ケーブル・光ファイバなどの伝送線路上に流すことができる。
- 伝送路符号化された信号(ベースバンド信号)は、周波数帯域幅を減少させるためにパルス整形し、変調(周波数をシフト)して、「RF信号」として自由空間に流すことができる。
- 伝送路符号化された信号を使用して、赤外線遠隔制御で最も一般的に使用されるリモコンなどの自由空間光通信の光源をオン・オフすることができる。
- 伝送路符号化された信号を紙に印刷してバーコードを作成することができる。
- 伝送路符号化された信号をハードドライブやテープドライブなどの磁気媒体に変換することができる。
- 伝送路符号化信号を光ディスク上のピットに変換することができる。

## 主な種類

### 基本

ビットと物理信号が1対1対応となる最も基本的な伝送路符号には、次のものがある。

| 種別 | 概要 | 名称 | ビット1の表現 | ビット0の表現 |
| --- | --- | --- | --- | --- |
| NRZ | "Non-return-to-zero" の略。 信号の高低のみで表現するもの。 最も単純な実装である"Level"と、レベル遷移の有無でビットを表現する"Mark", "Space" (総称 Inverted)の種類がある。 | NRZ-L | 高レベルで表す。 | 低レベルで表す。 |
| NRZ–M (NRZ-I) | レベルの遷移で表す。 | 前のレベルを保つ。 |
| NRZ–S (NRZ-I) | 前のレベルを保つ。 | レベルの遷移で表す。 |
| RZ | "Return-to-zero"の略。 正負パルスの後にゼロレベルに復帰するもの。 | RZ | ビット周期中の高レベルから0レベルの遷移で表す。 | ビット周期中の低レベルから0レベルの遷移で表す。 |
| マンチェスタ符号 (Biphase) | 1ビット周期中に2つの信号レベルがあるもの。 本来のマンチェスタ符号である"Level"と、ビット周期の境界で必ずレベル遷移しながら周期内でのレベル遷移の有無でビットを表現する"Mark", "Space" (差動マンチェスタ符号)などの種類がある。 | Biphase-L | ビット周期中の高レベルから低レベルの遷移で表す。 | ビット周期中の低レベルから高レベルの遷移で表す。 |
| Biphase-M (BMC) | ビット周期中にレベル遷移があることで表す。 | ビット周期中にレベル遷移がないことで表す。 |
| Biphase-S | ビット周期中にレベル遷移がないことで表す。 | ビット周期中にレベル遷移があることで表す。 |

1. ↑  ここではRZはユニポーラ(単極)符号として示している (1:高→ゼロ、0:ゼロ)。
2. ↑  差動マンチェスタ(Differential manchester)は実装の一例として示している (1:エッジ変動あり、0:エッジ変動なし、周期中央で必ず変動)。なお、Biphase-M/Sも差動マンチェスタ符号の1つ。
3. ↑  遅延符号化(Delay modulation)はMFM符号とも。
4. ↑  バイポーラ(Bipolar)符号は正負・ゼロの3レベルを用いる符号全般を指し、ここでは実装の一例を示している (1:正負レベル交互→ゼロ、0:常にゼロ)。

これらを応用してよく用いられる符号化方式に、次のようなものがある。

### マンチェスタの応用

| 名称 | 概要 |
| --- | --- |
| 差動マンチェスタ符号 | マンチェスタ符号の変種で、信号の高低が反転しても同じビット列として復号可能なものを指す。通常のマンチェスタ符号におけるレベル遷移の方向による符号の代わりに、遷移の有無でビットを表す。前述のBiphase-M (BMC)やBiphase-Sなどの方式がある。 |
| MFM符号 | 差動マンチェスタ符号(BMC)を改良して、ビット周期の開始値を適宜切り替えて信号変動回数を減らしたもの。フロッピーディスクの記録に用いる。Miller符号化・遅延符号化 (Delay Modulation)とも。 |
| CMI符号 | "Coded mark inversion"の略。 ビット0は、正負信号を半クロックずつ出力する。正負は前半で直前状態を維持し後半に反転させる。 ビット1は、1クロック分の正負信号いずれかを出力する。正負は直前状態を反転させる。 |

### NRZ, RZの応用

| 名称 | 概要 |
| --- | --- |
| AMI符号 | "Alternate mark inversion"の略。 ビット0はゼロで出力し、ビット1は正負のレベルを交互に出力する。バイポーラ符号の代表的な実装の1つ。 この符号化ではビット0が連続する場合に同期が取れなくなる問題があるため、以下のような改良版が提案されている。ここでは、直前の正負信号と同じ方向のものを「V」、反転方向のものを「B」で表現している。    - B8ZS: ビット0が8連続する場合に特殊なパターン"000VB0VB"に置き換える。 - B6ZS: ビット0が6連続する場合に特殊なパターン"0VB0VB"に置き換える。 - HDB3: ビット0が4連続する場合に特殊なパターン"B00V"または"000V"に置き換える。 - B3ZS: ビット0が3連続する場合に特殊なパターン"00V"または"B0V"に置き換える。 |
| MLT-3符号 | 3レベルの出力を負→ゼロ→正→ゼロの順で繰り返し、ビット1=レベル変動、ビット0=レベル維持で表現する。信号変動回数を減らす目的による。 |
| Hybrid Ternary Code | 以下の変換則に従って正負ゼロの信号を出力するもの。 |
| CSRZ | "Carrier-Suppressed Return-to-Zero"の略。光通信用途。RZを光信号に拡張し、正負レベルを正弦波の±180°位相、ゼロレベルを無点灯で表現する。 |
| APRZ | "Alternate-Phase Return-to-Zero"の略。光通信用途。上記の位相反転。 |

### 異なるビット列への変換

連続する0や1(ディスパリティ)が多いビット列を異なるビット列に変換することで物理信号が変動しやすいように調整したもの。多くはNRZを用いた信号として出力される。

| 名称 | 概要 |
| --- | --- |
| 4B5B | 4ビットのデータを0/1の連続が少ない5ビットに拡張するもの。一般にはFDDIの実装を指す。 |
| 6b/8b | 6ビットのデータを変換し、0/1を4つずつ含む8ビットにするもの。 |
| 8b/10b | 8ビットを0/1の連続が少ない10ビットに拡張するもの。 |
| 64b/66b | 64ビットをスクランブル処理し、2ビットの識別子を付加して66ビットに拡張するもの。 |
| 128b/130b | 128ビットをスクランブル処理し、2ビットの識別子を付加して130ビットに拡張するもの。 |
| EFM変調 | 8ビットを14ビットに変換する。CDで使用される。 |
| EFMPlus | 8ビットを16ビットに変換する。DVDで使用される。 |
| TS-FO-02 (Three of Six, Fiber Optical) | 4ビットのデータを変換し、0/1を3つずつ含む6ビットにするもの。IEEE 1355のプラスチックファイバ通信における実装。 |

### 複数ビットのパルス化

複数のビット列をまとめてパルス出力することで信号周波数低減を図ったもの。多くはパルス振幅変調を用いた信号として出力される。

| 名称 | 概要 |
| --- | --- |
| 2B1Q | 2ビットをPAM4の1シンボルとして出力するもの。特にISDN/HDSLでの実装を指す。 |
| 4B3T | 4ビットのデータを3パルスの正負ゼロ信号(PAM3)として出力するもの。ISDNで用いられる。以下の変換則では、同一ビットに対して複数の出力信号パターンとなるものがいくつかあり、これまでに累積した正負信号の個数が均一になるようなものが選択される。  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | | 入力ビット | 出力信号 |  | 入力ビット | 出力信号 |  | 入力ビット | 出力信号 | | 0000 (=0x0) | + 0 + | 0110 (=0x6) | − + + | 1011 (=0xB) | + 0 − | | 0 − 0 | − − + | 1100 (=0xC) | + + + | | 0001 (=0x1) | 0 − + | 0111 (=0x7) | − 0 + | − + − | | 0010 (=0x2) | + − 0 | 1000 (=0x8) | + 0 0 | 1101 (=0xD) | 0 + 0 | | 0011 (=0x3) | 0 0 + | 0 − − | − 0 − | | − − 0 | 1001 (=0x9) | + − + | 1110 (=0xE) | 0 + − | | 0100 (=0x4) | − + 0 | − − − | 1111 (=0xF) | + + 0 | | 0101 (=0x5) | 0 + + | 1010 (=0xA) | + + − | 0 0 − | | − 0 0 | + − − | |
| 8B1Q4 | 8ビットを変換し、PAM5の4シンボルを出力する。特にイーサネットの1000BASE-Tにおける実装を指す。 |
| DSQ128 | 7ビットを変換し、PAM16の2シンボルを出力する。特にイーサネットの10GBASE-T・5GBASE-T・2.5GBASE-Tにおける実装を指す。 |
| TC-PAM | 4ビットをトレリス変調し、PAM16の1シンボルを出力する。4B1Hとも。HDSL2やG.SHDSLで使用される。 |

## 要件

伝送路符号には前述のように多くの方式があり、それぞれ長所と短所がある。一般には次の基準のいずれかを満たすように設計されている。

- 最小限の伝送回路構成に抑える
- 同期を容易にする
- エラー検出と補正を容易にする
- スペクトル成分(周波数)を最小限に抑える
- 直流成分(DCバイアス)・ディスパリティを除去・軽減する

### ディスパリティ

伝送路符号では、一般に連続する0や1の伝送が課題となる。ベースバンド伝送や長距離通信路などでは直流成分(DCバイアス)を確実に伝送できないことが多く、変動しない物理量が続くとエラーが多発する恐れがある。

ビット列中の0と1の個数差をディスパリティ(disparity:不均衡性)と呼び、それまでに送信した全信号のディスパリティの累計をランニングディスパリティ (running disparity) と呼ぶ。これらの軽減のために多くの伝送路符号では同じ物理量が長く連続して出力されないように工夫しており、そのような工夫を直流平衡 (DCバランス, DC-balanced) と呼ぶ。直流平衡には次の3つの方法がある。

- 定重み符号の使用。送信符号は正負信号のそれぞれを十分に含めてその平均レベルがゼロになるように設計されている。実装例として、マンチェスタ符号やITFコードがある。
- 対ディスパリティ符号の使用。この符号化では平均レベルが正の符号と負の符号が対になるように設計されている。送信側では送信中の正負レベルを追跡し、この2種のうち常に正負レベルを0に戻す符号を選択して送る。受信側ではその2種の符号が同じデータビットに復号される。実装例として、AMI符号、8b/10b、4B3Tなどがある。
- スクランブラの使用。スクランブル回路が生成する擬似乱数により同じ符号の連続が少ないビット列に変換して送付することができる。実装例として、64b/66bでは RFC 2615 でスクランブラが指定されている。

### 極性

符号化には物理信号に正負の極性として現れるものがあり、以下のように分類される。

- ユニポーラ(単極・単流)符号 - 正負の極性がないもの
- バイポーラ(両極・複流)符号 - 正負の極性を持つもの

バイポーラ符号として最も単純なRZでは正負ゼロの3つの異なる出力レベルがあるため、3の基数を持つ値で解釈される。バイポーラ符号では正負の物理量があるため直流成分を完全に排除できることが主な利点であり、変圧器や長距離伝送路を経由する信号では特に重要となる。

ただし、長距離通信では極性を曖昧にしか読み取れないため、極性に対する検出精度が高くなくとも適切に復号できるような設計が要求され、主に以下の3つの方法がある。

- 逆極性となる符号同士を対にする。受信側ではその2種の符号が同じデータビットに復号される。例として、AMI符号、差動マンチェスタ符号、CMI符号、MFM符号などがある。
- 前の符号に対する各符号の差動符号化を使用する。例として、MLT-3、NRZ-Iなどがある。
- 反転されたプリアンブルが検出されたときにストリーム全体を反転する。

### ランレングス制約

受信側で精度よくクロック復元するために、生成された符号化列の中で連続する0や1の個数を限定することがある。これを最大ランレングス制約と呼び、主にデータ記憶媒体に適用する符号の特性を表現するときに用いる。

ランレングス制約では、例えば同一符号が最小1個・最大3個の連続に限定される符号化である場合、RLL(1,3)などと記す。連続する同一の符号が長すぎるとクロック復元が困難になり、短すぎると高周波成分の劣化に耐えられない恐れがある。伝送路符号では、符号変動のタイミングをモニタすることでクロック周期が復元されるため、ランレングス制約があることでクロック検出が一定の範囲内に保証される。これにより、最大限にデータを記録・伝送しつつ、 ビット境界の正確な検出が可能となる。このような制約のない場合は読み取り品質を著しく損なう可能性がある。

### 同期

伝送路符号は、受信側で受信信号の位相に自身を同期する必要がある。理想的な同期でない場合、符号化で決められた信号レベルを適切に読み取れなくなり、ビット誤り率が増加する。

マンチェスタ符号などのバイフェーズ(biphase)方式では、ビット周期中に少なくとも1つの遷移を必要とするため、送受信機の同期化とエラー検出が容易になるが、信号速度(ボーレート)はNRZ符号よりも高くなる。

### エラー検出・訂正

伝送路符号は、物理信号の劣化が受信側でエラーとして処理されるような構造を有することが好ましい。代表的なものとして、パリティビットやCRCなどの付加によるエラー検出や、リード・ソロモン符号やハミング符号などの付加によるエラー訂正を可能とする実装が広く用いられる。