水平パリティ・垂直パリティの解説
1. パリティとは?
パリティ(Parity)とは、データの誤り検出に使われる仕組みです。
データの「1」の個数が偶数か奇数かを調べ、パリティビットを付加します。
2. 偶数パリティ・奇数パリティ
偶数パリティ: データ中の「1」の個数が偶数になるようにパリティビットを付加します。
奇数パリティ: データ中の「1」の個数が奇数になるようにパリティビットを付加します。
データ | 偶数パリティ | 奇数パリティ |
1011 | 10111 | 10110 |
1100 | 11001 | 11000 |
3. 水平パリティ(Horizontal Parity)
水平パリティは、
各行ごとにパリティビットを付加する方法です。
例えば、次のようなデータがあるとします:
元データ | 偶数パリティ | 奇数パリティ |
1011 | 10111 | 10110 |
1100 | 11001 | 11000 |
0110 | 01101 | 01100 |
各行の「1」の個数を数え、偶数/奇数パリティビットを右端に付加します。
4. 垂直パリティ(Vertical Parity)
垂直パリティは、
各列ごとにパリティビットを付加する方法です。
例えば、次のようなデータがあるとします:
| 1列目 | 2列目 | 3列目 | 4列目 |
1行目 | 1 | 0 | 1 | 1 |
2行目 | 1 | 1 | 0 | 0 |
3行目 | 0 | 1 | 1 | 0 |
垂直パリティ(偶数) | 0 | 0 | 0 | 1 |
垂直パリティ(奇数) | 1 | 1 | 1 | 0 |
各列の「1」の個数を数え、偶数/奇数パリティビットを下に付加します。
5. 水平・垂直パリティの組み合わせ(2次元パリティ)
水平パリティと垂直パリティを組み合わせることで、2次元パリティとなり、誤り検出能力が向上します。
1ビット誤りだけでなく、複数ビット誤りの検出も可能になります。
6. 専門的な内容:パリティ検査の限界と応用
パリティ検査は偶数個の誤りには弱く、すべての誤りを検出できるわけではありません。
より高度な誤り検出・訂正には、ハミング符号やCRCなどが使われます。
しかし、パリティはシンプルで高速なため、メモリや通信の基本的な誤り検出に広く使われています。