水平垂直パリティチェック
① 物語性を取り入れた説明: 水平垂直パリティチェック
中学生のナオキがコンピュータクラブの先生に質問しました。
ナオキ: 先生、「水平垂直パリティチェック」って何ですか?
先生: ナオキ、それはデータ伝送時のエラー検出手法の一つだよ。簡単に言うと、チェス盤をイメージしてみて。各マス目には「0」か「1」が入っているとするね。水平方向(行)と垂直方向(列)の各マス目の数字を足し合わせて、合計が偶数になるように「0」か「1」を加えるんだ。これがパリティビットで、エラーを検出するのに使うんだよ。
例えば、以下のような表を考えてみよう(偶数パリティの場合)
A | B | C | 水平パリティ | |
---|---|---|---|---|
1行目 | 0 | 1 | 0 | 1 |
2行目 | 1 | 0 | 1 | 0 |
3行目 | 0 | 1 | 1 | 0 |
垂直パリティ | 1 | 0 | 0 |
この表では、各行と各列の合計が偶数になるようにパリティビットを設定しているんだ。1行目を見てみて。Bが1だから奇数だよね。偶数になるように水平パリティには1を入れる。2行目はAとCに1がありすでに偶数だから水平パリティは0なんだ。同じようにA列は2行目に1があるから垂直パリティは1を入れるということだね。
ナオキ: なるほど。水平垂直パリティを加えることでどのような意味があるのですか?
先生: たとえば、データを送るときに何らかのエラーがあったとしよう。受け取った側はこのパリティビットを見て、行や列の合計が偶数でなければ、どこかにエラーがあると判断できるんだ。水平方向と垂直方向の両方をチェックするから「水平垂直パリティチェック」と呼ばれているんだよ。
ナオキ: なるほど、それでデータ伝送のエラーを見つけることができるんですね。
先生: そうなんだ。特にデータ通信やデータストレージで重要な役割を果たしているんだよ。
水平垂直パリティチェックは、データ伝送の際に生じるエラーを検出するための方法です。これは、データの各行と各列にパリティビットを追加して、行と列の合計が偶数になるようにします。エラーが発生すると、行と列の合計が偶数でなくなり、これを通じてエラーを特定できます。
② 実際の事例
- データストレージシステム:RAID(Redundant Array of Independent Disks)システム: データを複数のディスクに分散して保存するシステムです。ここでは、水平垂直パリティチェックが、データが正確に書き込まれ、読み出されることを保証します。万が一のディスク障害時にも、パリティ情報を利用して失われたデータを復元することが可能です。
- 通信システム:
- 衛星通信: 長距離を伝送する際に、データが破損するリスクがあります。水平垂直パリティチェックは、受信したデータにエラーがないか確認し、必要に応じて再送要求を行うことで、信頼性の高い通信を保証します。
- ワイヤレス通信: Wi-Fiや携帯電話などのワイヤレス通信では、周囲の環境によって信号が乱れやすいです。この際、水平垂直パリティチェックは送受信されるデータの整合性を保ち、エラーフリーな通信を支援します。
- データ転送装置:
- ネットワークスイッチやルーター: これらの装置はデータパケットを扱い、異なるネットワークセグメント間で転送します。水平垂直パリティチェックを使用して、パケットの正確な転送を保証し、ネットワーク内のデータフローの整合性を維持します。
③ クイズや小テスト
クイズ1: 水平垂直パリティチェックの目的は何ですか?
A. データの暗号化
B. データの圧縮
C. エラーの検出
クイズ2: 水平垂直パリティチェックで重要なのは何ですか?
A. データの速度
B. 行と列の合計値
C. データのサイズ
クイズ3: 水平垂直パリティチェックが一般的に使用されるのはどこですか?
A. データストレージ
B. ソフトウェア開発
C. ゲームデザイン
回答
クイズ1の回答: C. エラーの検出
クイズ2の回答: B. 行と列の合計値
クイズ3の回答: A. データストレージ
応用情報技術者平成27年秋期 午前問4
図のように16ビットのデータを4×4の正方形状に並べ,行と列にパリティビットを付加することによって何ビットまでの誤りを訂正できるか。ここで,図の網掛け部分はパリティビットを表す。

ア:1 イ:2 ウ:3 エ:4
正解:ア
2ビット以上の誤りは位置の特定ができないため誤り訂正はできないため。