ビットスタッフィングとは
ビットスタッフィング(ポジティブジャスティフィケーションと呼ばれることもあります)は、通常、コンピューターがデータを受信したときに適切に読み取られるように、コンピューターデータの文字列にデータ以外の情報を追加するプロセスです。 コンピュータデータは、1と0の形式の情報のビットで構成されています。 データチャンクの開始と終了を知らせるために、コードが使用されます。 送信される実際の情報がこのコードと混同されて無視される可能性がある場合、0などの余分なビットがコードに挿入され、詰め込まれて、コンピューターが処理するデータを認識します。
ビットパディングとも呼ばれるビットスタッフィングは、コンピューターが情報を受信したときのエラーを防ぐのに役立ちます。 ビットは実際の情報を表すものではなく、すべてのデータが送信されると、コンピューターは不要なビットを削除または無視します。 たとえば、コード行の先頭の信号が連続して5つの1であり、送信される実際のデータが5つの1で始まる場合、コンピューターはこれが開始信号であると判断し、それを削除します。 これを防ぐには、4番目と5番目の1の間にゼロビットを挿入し、「11111」ではなく「111101」として読み取ります。 コンピューターはゼロを削除し、データを削除する代わりに5として読み取ります。
ビットスタッフィングのもう1つの用途は、適切に送信するために特定のビット数を必要とするデータの文字列を埋めることです。 情報の文字列は、少なくとも10ビット長である必要がありますが、存在するのは9ビットのみです。 この状況では、合計が10になるように余分なビットが追加されます。データが解釈されると、余分なビットは破棄されます。
コンピューターがデータのチャンクを適切に解釈できるようにするだけでなく、ビットスタッフィングもコンピューターの同期を支援するために使用されます。 コンピューターは、内部クロックに基づいて安定したリズムで情報を送受信します。 同じビットが多すぎる場合(たとえば、すべて0の行)が一度に送信されると、コンピューターのクロックが同期しなくなり、コマンドを間違った順序で実行する可能性があります。 0の行に1を挿入すると、コンピューターのクロックが強制的に再同期され、この問題が防止されます。
コンピューターの同期を維持するのと同様に、ビットスタッフィングは、情報が連続ストリームとしてではなくビットで送信されるときに、コンピューターがデータを正しく読み取るのにも役立ちます。 コンピュータをだまして、送信を連続として認識させるために、次の実際の情報のチャンクが送信されるのを待つ間に、ランダムなビットが生成されてコンピュータに送信されます。 これにより、送信パターンが一定のペースで維持されます。
コンピュータは、データストリームが受信されると、データストリームから非データビットを削除することを認識しています。 コンピュータープログラマーは、どのビットを詰め込むかを知る必要があるため、コンピューターはそれらを実際のデータとして読み取るのではなく削除します。 コンピューターがこれらの詰められたビットを破棄するのではなく解釈しようとした場合、プログラムでコンピューターエラーが発生します。