読み方 : ハミングふごう

ハミング符号【Hamming code】ハミングコードチェック

概要

ハミング符号とはデータの伝送時に付加し、誤りを検知・訂正できる誤り訂正符号の一つ。ビット列中の1の数の奇偶を利用するパリティチェックを拡張したもの。
ハミング符号のイメージ画像

データを送受信する際に、本来のデータに一定の手順で計算したチェック用のデータを付加して送信することにより、受信側で受け取ったデータに誤りがないかどうかを検証することができる。

パリティチェックでは元のビット列中の1の数が偶数なら0、奇数なら1(あるいはその逆)となる1ビットパリティビットを付加するが、ハミング符号では元のビット列の中からいくつかの異なる複数ビットの組み合わせを考え、それぞれについてパリティを算出して付加していく。受信側では複数あるパリティから元のビット列のどこに誤りが生じたかを知ることができる。

ハミング符号は元のデータを一定の長さごとに区切って算出する。ブロックの長さと追加する符号の長さによって誤り検出能力は異なる。最も単純な例として知られる元のデータ4ビットにつき3ビットのハミング符号を算出する方式では1ビットの誤りを検知し、これを正しい値に訂正できる。

ハミング符号は1950年に米AT&T(当時)ベル研究所のリチャード・ハミング(Richard W. Hamming)氏によって考案された。後に開発されたリードソロモン符号などに比べ誤りの検出・訂正能力は弱いが、計算手順が短く高速に処理できるという特徴がある。ECCメモリRAID 2などの採用例が有名。

他の辞典等による「ハミング符号」の解説 (外部サイト)

資格試験などの「ハミング符号」の出題履歴

▼ 基本情報技術者試験
令4修6/平27修12/平25修7/平24修1】 メモリの誤り検出及び訂正を行う方式のうち,2ビットの誤り検出機能と,1ビットの誤り訂正機能をもつものはどれか。
平25修6/平22修1】 メモリの誤り制御に用いられ,自動訂正機能をもつものはどれか。
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。