ビット挿入(Bit Stuffing)とは
データ伝送技術や
電気通信分野において、
ビット挿入とは無意味な
ビットをデータに挿入する手法を指します。この手法は、情報伝達の過程でデータの整合性や効率を保つために重要な役割を果たします。
概要
ビット挿入は、特定の目的に応じて行われます。たとえば、異なる
ビット速度を持つデータ系列を共通の
ビット速度に合わせるためや、フレームを満たす目的で使用されます。この操作の際、挿入された
ビットの位置は受信側に伝えられ、元の
ビットストリームに戻す際にはこれらの
ビットは取り除かれます。つまり、
ビット挿入はデータの
多重化や異なる通信路間の同期を実現するための手段として利用されます。具体的な例として、
Plesiochronous Digital Hierarchy(PDH)や
Synchronous Digital Hierarchy(SDH)などがあります。
他の用途
ビット挿入は、ランレングス制限符号化にも利用されます。これは、データ内の連続する同じ値の
ビット数を制限する技術で、最大許容数を超えると逆の値の
ビットが挿入されるという一般的なルールがあります。これにより、受信側は追加情報なしで挿入
ビットを除去でき、データの整合性が保たれます。
ビット挿入のもう一つの目的は、信号遷移を生成することで、信号の受信の確実性を高めることや、特殊な予約コードをデータの中に隠す際にも用いられます。例としては、CAN(
Controller Area Network)、HDLC(
High-Level Data Link Control)、USB(Universal Serial Bus)などが挙げられます。
限界と注意点
ただし、
ビット挿入を行ったからといってペイロードが完全であるとは限りません。この手法は、送信が正しい位置で行われることを確保する手段の一つに過ぎません。そのため、誤り検出や訂正のメカニズムを併用して、送信されたフレームが破損していないかを検査し、必要に応じて再送信することが重要です。
ゼロ
ビット挿入は、特定の
ビット挿入手法の一つで、データの刻時復元を助けるために使用されます。IBMのSDLC(
Synchronous Data Link Control)によって広められたこの技術では、0
ビットのみが挿入され、連続する0
ビットを防ぐために1
ビットは入れません。これにより、長く続く1
ビットに起因する信号遷移の欠如を防ぎ、信号の同期を維持することができます。
SDLCでは、特定の
ビット列“01111110”がフラグバイトとして定義されています。
ビット挿入によってこのパターンが通常のデータには現れないことが保証されるため、フレームの開始と終了を正確に識別できます。
デメリット
ただし、
ビット挿入の主な欠点は、符号化率がデータの内容に依存し、予測が難しい点です。送信されるデータの特性によって挿入される
ビットの数が変わり、全体の効率に影響を与える可能性があります。したがって、
ビット挿入を使用する際には、その効果を理解し、適切なエラーチェック機構を設けることが不可欠です。
参考文献
- - 連邦規格1037C
- - JIS X 4301:1995「連続階調静止画像のディジタル圧縮及び符号処理/第1部: 要件及び指針」(日本産業標準調査会、経済産業省)