【りーどそろもんふごう】
リード・ソロモン符号 とは?
最終更新:
💡 データの一部が欠けても、数学の力で穴埋めする復元の名手
データに冗長なパリティを付け足し、一部が壊れたり失われたりしても元のデータを復元できる誤り訂正符号。CDやQRコード、ストレージの冗長化などで使われる。
📌 このページのポイント
リード・ソロモン符号って何? 人の名前みたいだね。
その通り、ReedさんとSolomonさんが1960年に発表した誤り訂正符号なんだ。データに冗長な情報(パリティ)を付け足しておいて、一部が壊れたり失われたりしても、元のデータを復元できるようにする仕組みだよ。
どうやって復元できるの?
データを、有限体(ガロア体)という、要素数が有限で四則演算ができる数の集合の上の多項式として扱うんだ。多項式は、十分な数の点での値が分かれば元の式が決まる性質があるよ。だから余分な点の値を付けておけば、一部が欠けても元の多項式を復元できるんだね。
いくつまでの間違いを直せるの?
k個のデータにn-k個のパリティを付けた符号だと、位置が分かっている欠落(消失)なら最大でn-k個まで復元できるよ。位置が分からない誤りは、最大でn-kの半分(切り捨て)個までだね。誤りは「どこが間違っているか」も見つける必要があるから、半分になるんだ。
ハミング符号とは違うの?
どんなところで使われているの?
もっと詳しく知りたい人へ
符号長の上限はいつも同じ?
構成によって異なります。例えばRFC 5510の構成では、mビットの要素に対して符号長は最大2のm乗−1です。RS符号のすべての派生に同じ上限を当てはめるわけではありません。
まとめ:ざっくりこれだけ覚えればOK!
「リード・ソロモン符号」って出てきたら「一部が欠けても復元できる、シンボル単位の誤り訂正」と思えればだいたいOK!
📖 おまけ:英語の意味
「Reed-Solomon code」 = リード・ソロモン符号
💬 1960年にこの符号を発表した、Irving S. ReedとGustave Solomonの2人の名前から付いた名前だよ