図のように16ビットのデータを4×4の正方形状に並べ,行と列にパリティビットを付加することによって何ビットまでの誤りを訂正できるか。
ここで,図の網掛け部分はパリティビットを表す。
正答1
解説
正解は1です。
データを2次元に並べ、各行と各列に偶数パリティを付ける「水平垂直パリティ」で、何ビットの誤りまで訂正できるかを問う問題です。
図では、4×4の16ビットの右の列に各行のパリティ、下の行に各列のパリティが網掛けで付いています。
たとえば1行目は1、0、0、0で1の数が奇数なのでパリティは1、4列目は0、0、0、1なのでパリティは1になっており、1の数を偶数にそろえる方式です。
【選択肢別解説】
1:○ 1ビットだけ誤ると、その行のパリティと列のパリティが1つずつ合わなくなります。
合わない行と列の交点が誤りの位置だと特定できるので、そのビットを反転すれば訂正できます。
2:× 2ビットの誤りは検出はできますが、訂正はできません。
たとえば同じ行の2ビットが誤ると、行のパリティは偶数のまま変わらず、2つの列だけが合わなくなるため、どの行で誤ったのかを特定できないからです。
3:× 3ビットの誤りでは、誤りの位置を一意に特定できないため訂正はできません。
2ビットの時点で訂正できないので、3ビットはなおさら訂正できません。
4:× 4ビットの誤りでは、長方形の4隅が誤ると行も列もすべてのパリティが正しく見え、検出すらできない場合があります。
訂正はできません。
【ポイント】
水平垂直パリティは「1ビット誤りの訂正、2ビット誤りの検出」ができる方式です。
単一のパリティビットは「1ビット誤りの検出のみ」、ハミング符号は「1ビット訂正・2ビット検出」と並べて覚えます。