水平パリティ・垂直パリティの解説

1. パリティとは?

パリティ(Parity)とは、データの誤り検出に使われる仕組みです。
データの「1」の個数が偶数か奇数かを調べ、パリティビットを付加します。

2. 偶数パリティ・奇数パリティ

偶数パリティ: データ中の「1」の個数が偶数になるようにパリティビットを付加します。
奇数パリティ: データ中の「1」の個数が奇数になるようにパリティビットを付加します。
データ偶数パリティ奇数パリティ
10111011110110
11001100111000

3. 水平パリティ(Horizontal Parity)

水平パリティは、各行ごとにパリティビットを付加する方法です。
例えば、次のようなデータがあるとします:
元データ偶数パリティ奇数パリティ
10111011110110
11001100111000
01100110101100
各行の「1」の個数を数え、偶数/奇数パリティビットを右端に付加します。

4. 垂直パリティ(Vertical Parity)

垂直パリティは、各列ごとにパリティビットを付加する方法です。
例えば、次のようなデータがあるとします:
1列目2列目3列目4列目
1行目1011
2行目1100
3行目0110
垂直パリティ(偶数)0001
垂直パリティ(奇数)1110
各列の「1」の個数を数え、偶数/奇数パリティビットを下に付加します。

5. 水平・垂直パリティの組み合わせ(2次元パリティ)

水平パリティと垂直パリティを組み合わせることで、2次元パリティとなり、誤り検出能力が向上します。
1ビット誤りだけでなく、複数ビット誤りの検出も可能になります。

6. 専門的な内容:パリティ検査の限界と応用

パリティ検査は偶数個の誤りには弱く、すべての誤りを検出できるわけではありません。
より高度な誤り検出・訂正には、ハミング符号CRCなどが使われます。
しかし、パリティはシンプルで高速なため、メモリや通信の基本的な誤り検出に広く使われています。