エラー隠蔽は、パケット損失と呼ばれるデータ欠落によって引き起こされる信号の劣化を最小限に抑えることを目的とした信号処理で使用される技術です。[ 1 ]信号は、送信機から受信機に複数の小さなパケットで送信されるメッセージです。パケット損失は、これらのパケットが誤った方向に送られたり、遅延したり、順序が入れ替わったり、破損したりした場合に発生します。[ 2 ]
信号の受信側でエラー回復が行われる場合、それは受信側ベースの処理となります。これらの技術は、破損または欠落したデータの修正に重点を置いています。
受信側でのエラー隠蔽の初期的な試みでは、パケットの繰り返しが行われ、失われたパケットを以前に受信したパケットのコピーで置き換えた。この機能は計算が簡単で、受信側の「ドロップアウト補償器」と呼ばれるデバイスによって実行される。[ 3 ] [ 4 ]
この手法を用いる場合、パケットが失われた場合は、そのエントリは0に置き換えられます。
補間とは、欠落したパケットの性質について、根拠に基づいた推測を行うことです。例えば、音声における発話パターンや、動画における顔の動きを追うことなどが挙げられます。
データバッファは、遅延したパケットの到着を待つ間、データを一時的に保存するために使用されます。ウェブブラウザの読み込みバーや、YouTubeなどの動画アプリケーションでよく見られます。
失われたパケットを回復しようとするのではなく、他の技術ではデータ損失を予測し、送信前にデータを操作する。[ 4 ]
最も単純な送信機ベースの技術は再送信であり、メッセージを複数回送信します。このアイデアは単純ですが、複数の信号を送信するのに必要な余分な時間のため、この技術はリアルタイムアプリケーションをサポートできません。[ 2 ]
パケット繰り返し(前方誤り訂正(FEC)とも呼ばれる)は、冗長データを追加し、受信側はこれを使用して失われたパケットを回復できます。これにより損失は最小限に抑えられますが、パケットのサイズは大きくなります。[ 5 ] [ 6 ]
インターリーブとは、送信前にデータをスクランブルする処理のことです。パケットが失われた場合、データ全体が失われるのではなく、複数のデータセットのごく一部が失われます。受信側では、メッセージがデインターリーブ処理され、最小限の損失で元のメッセージが復元されます。
インターリーブなしの伝送:
元の送信文: これはインターリービングの例ではありません バーストエラーを含む文を受信しました: ThisIsNot______pleOfInterleaving
「AnExample」という用語は、ほとんどの場合意味不明で、修正も困難です。
インターリーブ方式の場合:
送信された文: これはインターリービングの例です... エラーのない伝送: TIEpfeaghsxlIrv.iAaenli.snmOten。 バーストエラーを含む文を受信しました: TIEpfe______Irv.iAaenli.snmOten. デインターリーブ後に受け取った文: T_isI_AnE_amp_eOfInterle_vin_...
単語が完全に失われることはなく、失われた文字は最小限の推測で復元できる。[ 7 ]
伝送方式(アナログかデジタルか)によって、メッセージ内でエラーが伝播する経路は様々である。
1950年代の発明以来、アナログビデオテープに使用されている磁気コーティングは、無線周波数(RF)信号の欠落という問題を抱えてきた。これらの問題を解決するために用いられた技術の中には、現代の圧縮ビデオ信号におけるエラーを隠蔽するために用いられる技術と類似するものもある。
音声修復におけるクリックノイズ除去処理は、エラー隠蔽のもう一つの例である。画像処理の分野でこれとよく似た例としては、映画修復におけるデジタルによる埃や傷の除去処理が挙げられる。
エラー隠蔽には、ウェブブラウジング、ビデオ会議、Skype、YouTubeなど、多くのデジタルアプリケーションがあります[ 2 ] [ 8 ]。