LDPC符号
Low-Density Parity-Check code / エルディーピーシーフゴウ
検査行列の中の1が少ないことを利用して、繰り返し計算で誤りを直す誤り訂正符号です。理論上の限界に近い性能が出るため、DVB-S2やATSC 3.0、地上放送の高度化方式などで採用されています。
- 正式名称
- Low-Density Parity-Check code(低密度パリティ検査符号)
- 考案
- 1960年、ロバート・ガラガーがMITの博士論文で提案
- 当時の評価
- 反復復号の計算量が当時のハードウェアに対して重く、長く使われなかった
- 再評価
- 1996年、ターボ符号の登場をきっかけに見直された
- 仕組み
- 1の少ない(疎な)検査行列をタナーグラフで表し、確からしさを繰り返しやり取りして復号する
- 放送での採用
- DVB-S2、DVB-T2、DVB-C2、ATSC 3.0、ARIB STD-B44(ISDB-S3)、ARIB STD-B79/B80
- 放送以外での採用
- Wi-Fi(IEEE 802.11n/ac/ax)、5G NRのデータチャネル、10GBASE-T、SSD
- 現行の地上デジタル放送
- ARIB STD-B31は畳み込み符号とリードソロモン符号の組み合わせで、LDPCは使っていない
放送の伝送方式の資料で、変調が64QAMから4096QAMへ上がったと書かれていると、単に密度を上げただけに見えます。実際には、密にした分だけ誤りやすくなるので、誤り訂正の側も入れ替えないと成立しません。その入れ替えの中身にあたるのがLDPC符号です。
LDPC符号が使われる場面
衛星放送での採用が早く、DVB-S2が代表例です。日本では新4K8K衛星放送の伝送方式であるARIB STD-B44(ISDB-S3)がLDPC符号を使っています。2014年の2.0版では、超高精細度テレビジョン放送に対応するため93/120という符号化率が追加されました。
地上放送では、DVB-T2とATSC 3.0が採用しています。日本の地上放送高度化方式でも、ARIB STD-B79とSTD-B80がどちらも誤り訂正にLDPC符号を指定しています。現行の地上デジタル放送を定めるARIB STD-B31は畳み込み符号とリードソロモン符号の組み合わせなので、この点は世代の違いとしてはっきり出ます。
放送以外でも広く使われています。Wi-Fiの802.11n以降、5G NRのデータチャネル、10GBASE-TのEthernet、SSDの内部の誤り訂正などです。同じ符号の系統が、電波の伝送路とフラッシュメモリの両方で使われているのは、どちらも「誤りが一定の割合で混じる通信路」として同じ枠組みで扱えるためです。
LDPC符号の仕組み
LDPC符号は、検査行列に並ぶ1の数が少ないという性質を持つ符号です。この行列を、符号のビットを表す点と検査の条件を表す点をつないだグラフ(タナーグラフ)として描くと、1本1本の辺が「このビットはこの検査に関わる」という関係を表します。
復号は、このグラフの上で確からしさをやり取りする形で進みます。各ビットは自分が0らしいか1らしいかの度合いを持ち、つながっている検査の点へ送ります。検査の点は集まった情報からつじつまを計算し、各ビットへ返します。これを何度か繰り返すと、最初は判断がつかなかったビットも次第に定まります。1が少ない行列なので1回あたりの計算が軽く、繰り返しても現実的な処理量に収まります。
この方式は1960年にロバート・ガラガーが博士論文で提案したものですが、当時のハードウェアでは反復復号の計算が重すぎて使われませんでした。1996年にターボ符号が登場して反復復号が注目されたあと、再び評価され、集積回路の性能向上とともに実用化が進みました。通信路の容量に近い性能が理論的にも示されており、電波の強さに対してどこまで詰め込めるかという限界を押し上げています。
放送では、LDPC符号を単体で使うのではなく、外側にもう1つの符号を重ねる連接構成が一般的です。地上放送高度化方式の誤り訂正方式は、LDPC符号を内符号、BCH符号を外符号として連ねる形で、反復復号で取りきれずに残った誤りを外側のBCH符号が片付けます。
LDPC符号で間違えやすい点
- 誤り訂正を強くすれば受信範囲が広がる、と単純には言えません。多値変調で1シンボルあたりのビット数を増やすと必要な信号対雑音比も上がるので、両者の組み合わせで決まります
- 符号化率によって性能が大きく変わります。同じLDPCでも、冗長をどれだけ足すかで必要な電波の強さは変わります
- 現行の地上デジタル放送はLDPCを使っていません。放送の資料でLDPCが出てきたら、高度化方式か衛星放送、あるいは海外の方式の話です
- 符号としての性能と、受信機の実装の性能は別です。反復の回数や量子化の精度で、実機の結果は理論値から離れます
よくある質問
LDPC符号とは何ですか
検査行列に1が少ない誤り訂正符号で、グラフ上で確からしさを繰り返しやり取りして復号します。1960年に提案され、1996年以降に再評価されて、放送や通信の標準に広く採用されました。低密度パリティ検査符号とも呼ばれます。
LDPC符号はどの放送方式で使われていますか
DVB-S2、DVB-T2、DVB-C2、ATSC 3.0のほか、日本では新4K8K衛星放送の伝送方式であるARIB STD-B44、地上放送の高度化方式であるARIB STD-B79とSTD-B80が採用しています。
LDPC符号とターボ符号はどちらが優れていますか
用途によります。どちらも反復復号で限界性能に近づく符号で、一般に高い符号化率の領域ではLDPCが優るとされ、低い符号化率ではターボ符号が有利とされています。放送や無線LANの新しい規格ではLDPCが選ばれることが多くなっています。
似ている形式との違い
| 名前 | 主に使う場面 | LDPC符号との違い |
|---|---|---|
| リードソロモン符号 | 現行の地上・BSデジタル放送の外符号 | ブロック単位でまとまった誤りを直す。LDPCは反復復号で限界性能に近づける |
| 畳み込み符号 | 現行ISDB-Tの内符号 | ビタビ復号と組み合わせる方式。LDPCはより長い符号長で効果が出る |
| ターボ符号 | 第3世代・第4世代の携帯電話 | 反復復号という発想は共通。高い符号化率ではLDPCが優るとされる |
| FEC | 誤り訂正の総称 | 送り側で冗長を足して受け側で直す仕組み全体の呼び名。LDPCはその一種 |
関連する用語
最終更新