System and method for decoding a forward error correcting code

申请号 JP2008511354 申请日 2006-05-11 公开(公告)号 JP2008541627A 公开(公告)日 2008-11-20
申请人 ベライゾン サービシズ コーポレイションVerizon Services Corp.; 发明人 エヴァンス コンウェイ エイドリアン;
摘要 デコーダの状態を更新(又は、再計算)するために遅延パケット到着に含まれる情報を使用することによって順方向エラー訂正コードのデコーダの性能を向上させることができるシステム及び方法が開示される。 一般に、開示された実施例のシステム及び方法は、連続するビット又は情報フレームのデコードで状態情報を維持するデコーダに適用できる。 もし遅延パケットに含まれる情報が当初は時間通りに到着し、通常の方法でデコードされていたら、再計算された状態はデコーダが正確に有していた状態であるから、本発明の方法及びシステムはデコーダの性能(即ち、ビットエラーレート)を向上させる。 事実上、遅延パケット到着に続いてデコーダ状態を更新することは、デコーダの状態に遅延パケット消去が影響する時間での伝搬を終了させる。
权利要求
  • パケットデコードシステムであって、
    順方向エラー訂正コードでコード化された情報を含む受信されたパケットをデコードするために構成され、前記受信されたパケットによって含まれる前記情報の連続するデコードに続く前記順方向エラー訂正デコーダの一連の状態を表す状態情報を維持する順方向エラー訂正デコーダと、及び 予め定められたプレイアウト時間に続いて前記パケットデコードシステムに到着する遅延パケットに含まれる情報に少なくとも部分的に基づいて前記順方向エラー訂正デコーダの状態情報を更新するために構成された遅延パケット到着処理ユニットとを含むことを特徴とするシステム。
  • 前記遅延パケット到着処理ユニットが、
    前記順方向エラー訂正デコーダに提供されてきた前記情報の最近のヒストリを記憶するために構成されたビット/フレーム・バッファと、及び 前記遅延パケットの到着に応答して前記ビット/フレーム・バッファを更新するために構成されたビット/フレーム・バッファ更新ユニットとを含む、請求項1に記載のシステム。
  • 前記ビット/フレーム・バッファ更新ユニットが、前記遅延パケット中の前記情報が対応する少なくとも1つの時間エポックを決定するために構成され、前記遅延パケット中に対応する情報を有する時間エポックに対応する前記ビット/フレーム・バッファ中の任意の既存エントリを取り替える、請求項2に記載のシステム。
  • 前記遅延パケット到着処理ユニットが、
    前記順方向エラー訂正デコーダの状態の最近のヒストリを記憶するために構成されたデコーダ状態バッファと、及び 前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて前記デコーダ状態バッファを更新するために構成されたデコーダ状態バッファ更新ユニットとを更に含み、
    前記ビット/フレーム・バッファ中の更新された情報が、前記遅延パケットに含まれる情報に少なくとも部分的に基づく、請求項2に記載のシステム。
  • 前記デコーダ状態バッファ更新ユニットが、前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて前記順方向エラー訂正デコーダの過去の状態を再帰的に再計算することによって、前記デコーダ状態バッファを更新するために構成される、請求項4に記載のシステム。
  • 前記順方向エラー訂正デコーダが、重畳エラー訂正コードでエンコードされた情報をデコードするために構成されたビタビデコーダである、請求項1に記載のシステム。
  • 前記順方向エラー訂正デコーダに提供される前に、受信されたパケットを受信してバッファするために構成されたパケット受信バッファを更に含む、請求項1に記載のシステム。
  • 順方向エラー訂正コードを使用してコード化されてきた複数の受信されたパケットに含まれる情報をデコードすること、
    前記複数の受信されたパケットの各々に含まれる前記情報の連続するデコードに続く一連の状態を表す状態情報を維持すること、
    予め定められたプレイアウト時間に続いて到着し、前記順方向エラー訂正コードを使用してコード化された情報も含む遅延パケットを受信すること、及び 前記遅延パケットに含まれる情報に少なくとも部分的に基づいて前記状態情報を更新することの諸ステップを含む方法。
  • 前記状態情報を更新するステップが、前記遅延パケットに含まれる前記情報に少なくとも部分的に基づいてビット/フレーム・バッファを更新することを含み、デコードされてきた前記情報の最近のヒストリを前記ビット/フレーム・バッファが保持する、請求項8に記載の方法。
  • 前記ビット/フレーム・バッファを更新するステップが、前記遅延パケット中の前記情報が対応する時間エポックを決定すること、及び前記遅延パケット中の対応する情報を有する時間エポックに対応する前記ビット/フレーム・バッファ中の任意の既存エントリを取り替えることを含む、請求項9に記載の方法。
  • 前記状態情報を更新するステップが、前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいてデコーダ状態バッファを更新することを更に含み、前記デコーダ状態バッファが前記状態情報の最近のヒストリを保持する、請求項9に記載の方法。
  • 前記デコーダ状態バッファを更新するステップが、前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて過去の状態情報を再帰的に再計算することを含む、請求項11に記載の方法。
  • 前記順方向エラー訂正コードが重畳エラー訂正コードである、請求項8に記載の方法。
  • 前記複数の受信されたパケットに含まれる前記情報がデコードされる前に、前記複数の受信されたパケットをバッファすることを更に含む、請求項8に記載の方法。
  • プロセッサに提供されるとき、該プロセッサに請求項8に記載の方法を実行させる命令を記憶するコンピュータ読み取り可能な媒体。
  • パケットデコードシステムであって、
    順方向エラー訂正コードでコード化された情報を含む受信されたパケットをデコードするために構成され、前記受信されたパケットによって含まれる前記情報の連続するデコードに続く前記順方向エラー訂正デコーダの一連の状態を表す状態情報を維持する順方向エラー訂正デコーダと、
    前記順方向エラー訂正デコーダに提供されてきた前記情報の最近のヒストリを記憶するために構成されたビット/フレーム・バッファと、
    前記順方向エラー訂正デコーダの状態の最近のヒストリを記憶するために構成されたデコーダ状態バッファと、
    予め定められたプレイアウト時間に続いて前記パケットデコードシステムに到着する遅延パケットの到着に応答して前記ビット/フレーム・バッファを更新するために構成されたビット/フレーム・バッファ更新ユニットであって、前記遅延パケットが遅延パケット情報を含む前記ビット/フレーム・バッファ更新ユニットと、
    前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて前記デコーダ状態バッファを更新するために構成されたデコーダ状態バッファ更新ユニットと、並びに 前記デコーダ状態バッファ中の更新された情報、及び前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて前記順方向エラー訂正デコーダの前記状態情報を更新するために構成されたデコーダ状態更新ユニットとを含むことを特徴とするシステム。
  • 前記ビット/フレーム・バッファ更新ユニットが、前記遅延パケット中の前記遅延パケット情報が対応する時間エポックを決定するために構成され、前記遅延パケット情報を有する前記時間エポックに対応する前記ビット/フレーム・バッファ中の任意の既存エントリを取り替える、請求項16に記載のシステム。
  • 前記デコーダ状態バッファ更新ユニットが、前記ビット/フレーム・バッファ中の更新された情報に少なくとも部分的に基づいて過去のデコーダ状態を再帰的に再計算するために構成される、請求項16に記載のシステム。
  • 前記順方向エラー訂正デコーダが、重畳エラー訂正コードでエンコードされた情報をデコードするために構成されたビタビデコーダである、請求項16に記載のシステム。
  • 前記順方向エラー訂正デコーダに提供される前に、受信されたパケットを受信してバッファするために構成されたパケット受信バッファを更に含む、請求項16に記載のシステム。
  • 说明书全文

    本発明は、順方向エラー訂正コードをデコードするためのシステム及び方法に関するものである。

    パケット網では、非リアルタイム・データ信号、並びに音声、ビデオ、及びオーディオのようなリアルタイム・データ信号が、パケット化されパケット網を通して送信される前に、エラー訂正コードでエンコードできる。 これは、種々の順方向エラー訂正(FEC)方式を通して達成できる。 一般に、伝送中に損失、又は破損するパケットが受信器で復元できるように、FEC方式は送信される信号(又は、メッセージ)に充分な冗長性を導入する。 言い換えれば、FECの目的は、チャネルを通して送信中のデータに注意深く設計された冗長性情報を加えることによって、チャネルの能を改善することである。 エラー訂正コードで信号をエンコードすることは、送信された信号をパケット損失、パケット消去、ビットエラー、及びリアルタイム信号の場合のパケット遅延から保護できる。

    エラー訂正コードでエンコードされ、パケット化されてきた伝送の受信側では、一般に、到着したパケットは、パケット受信バッファ(又は、「プレイアウト」バッファ)の中へ最初に配置される。 「パイプライン」処理によって、バッファされたパケットはバッファから周期的に読み出され(又は、プレイアウトされ)、ビット又はフレームがパケット・ペイロードから抽出され、パケット化の前に送信側で適用されてきたエンコード方法に対応する方法を使用してビット又はフレームがデコードされ、デコードされたディジタル信号は受信エンティティ(装置、プロセス、又は人)にプレイアウトされる。 バッファが既に一杯のとき、又は、リアルタイム信号の場合は、スケジューリングした(又は、要求された)プレイアウト時間が過ぎた後にパケット受信バッファに到着するパケットは、廃棄されてもよい。 遅延パケットの廃棄は、遅延パケットに含まれるビット又はフレームの損失(又は、消去)をもたらす。 遅延パケットの廃棄は、パケット網の中で既に起きたパケット損失、パケット消去、又はパケット破損に加えられる。

    消去、又は損失したビット又はフレームはデコーダに指示され、受信したビット又はフレームに適用されるデコード方法は消去された、失われた、又は破損したビット又はフレームを訂正する。 しかし、FEC方式が機能してさえも、デコード処理でエラーがまだ発生する。 従って、順方向エラー訂正コードの性能(即ち、ビットエラーレート)を向上させるためのシステム及び方法がまだ必要である。

    本発明による好ましい実施例が添付の図面を参照して以下に記載されるが、本発明の全てのあり得る実施例は示されない。 実際には、本発明は異なる形態で実施でき、本明細書に示される実施例に限定して構成されるべきではなく、むしろ、この開示が当該法的条件を満たすように、これらの実施例は提供される。 全体を通して、類似の番号は類似の部材を参照する。

    本発明によって実施される1実施例では、デコーダの状態を更新(又は、再計算)する遅延パケット到着に含まれる情報を使用することによって、順方向エラー訂正コードのデコーダの性能を向上させるために方法及びシステムが開示される。 本発明による実施例の方法及びシステムは他のエラー訂正コードを用いて同様に利用できるが、例証として以下に参照される周知のエラー訂正コードは重畳エラー訂正コードである。 以下に記載されるように、本発明の方法及びシステムは、連続するビット又は情報フレームのデコードで状態情報を維持するデコーダに適用できる。 また、本発明の方法及びシステムは他のタイプのデコーダを用いて利用できるが、状態情報を維持する周知の1デコーダは、ビタビアルゴリズムによって動作する。 一般に、もし遅延パケットに含まれる情報が当初は時間通りに到着し、通常の方法でデコードされていたら、再計算された状態はデコーダが正確に有していた状態であるから、本発明の方法及びシステムはデコーダの性能(即ち、ビットエラーレート)を向上させる。 事実上、遅延パケット到着に続いてデコーダ状態を更新することは、デコーダの状態に遅延パケット消去が影響する時間での伝搬を終了させる。

    以下で更に詳細に記載される本発明の方法及びシステムは、パケット受信バッファによって処理されるデコーダの観点から示される。 ここで留意すべきは、パケット受信バッファの(パケットにおける)サイズは0、1、又はそれ以上であることである。 従って、記載された本発明の方法及びシステムも受信バッファが存在しない場合を含み、その場合、到着するビット又はフレームは到着したパケットから直ちに抽出され、パイプライン処理でデコードされる。

    パケットを受信し、エラー訂正コードでエンコードされてきた情報ビット/フレームをデコードするための通常の技術が、図1に示される。 図1では、一般に、ネットワークから到着するパケットは、パケット受信バッファ12に最初は配置される。 一杯のバッファに到着したパケットは廃棄される(即ち、消去されるか、又は阻止される)。 また、スケジューリングした、又は要求されたプレイアウト時間の後に到着したパケット、即ち、遅延パケットも廃棄される。 受信バッファ12に保持されているパケットは、パケット・プレイアウト・スケジュールに従ってプレイアウトされる。 周知のように、プレイアウト・スケジュールは、ネットワーク遅延の変化にも拘わらず、(個々に受信されたパケットに含まれる)送信された信号を連続的にプレイアウトするために伝送の受信側で使用できる。 (遅延ジッタとしても既知の)遅延変化の存在によって、受信側でのプレイアウト方式は、パケット網での損失と待ち時間の間のトレードオフに大きく影響し得る。 従って、一般に、デコードされた信号x(k)を出力する前に遅延ジッタを吸収するためにパケット受信バッファ12が利用される。 ここで、kは個別の時間エポックを意味する。 スケジューリングした(又は、要求された)プレイアウト期限よりも遅れて到着する任意のパケットは廃棄され、損失をもたらす。 更に、遅延期限をスケジューリングすることは、パケットを更にプレイアウトする可能性を増加させ、損失レートを低下させるが、より大きなバッファ遅延という犠牲のもとにそれを行う。

    パケットがプレイアウトされるとき、情報ビット/フレームf(k)がパケットから抽出され、情報ビット/フレームがエラー訂正デコーダ14によって1ビット、又はフレーム同時にデコードされる(実施例の中には、複数のビット、又はフレームがグループでデコードされるものもある)。 デコーダ14の出力は、デコードされた出力信号x(k)である。 ここで留意すべきは、もしパケットがプレイアウトされるべきときにパケットバッファ12が空(欠乏)なら、又は、例えば遅延して到着した結果、もし1又は複数のパケットがパケットバッファ中のパケットの時間系列から失われたら、デコーダへの情報の連続したビット/フレーム・ストリームを維持するために、受信したビット/フレーム・ストリームにビット/フレーム消去インディケータが通常は挿入される。

    より正式には、もしf(k)がk番目の情報ビット又はフレーム(即ち、個別の時間エポックkに到着するビット又はフレーム)なら、k番目の時間間隔に対応するデコードされた出力信号はx(k)である。 ここで、x(k)=D(f(k),S(k−1)),D(.)エラー訂正デコード演算子であり、S(k−1)は以前の情報フレームf(k−1)をデコードした後のエラー訂正デコーダ14の状態である。 f(k)をデコードした後のデコーダ14の状態はS(k)である。 ここで留意すべきは、ビットの場合には、f(k)は1、0、又は表示された消去に対応する。 フレームの場合には、f(k)は複数ビットのフレーム、又は表示されたフレーム消去に対応する。

    上記のように、エラー訂正コードでエンコードされた情報ビット/フレームを受信してデコードするための従来技術は、遅延して到着したパケットに帰する損失を被る。 バッファ遅延を増加させることなく、この損失を少なくとも部分的に改善するために、図2は本発明の1実施例によって実施される例示のデコード技術の高レベルのブロック図を示す。 更に詳細には、図2はエラー訂正コードのデコードで遅延パケット到着に含まれる情報を使用するデコード技術を示す。 図1の従来のデコード技術では、遅延パケット到着は単純に廃棄(又は、消去)される。 しかし、図2に示される実施例では、遅延パケット到着が遅延パケット到着処理ユニット26まで通過する。 以下で詳細に記載するように、遅延パケット到着に含まれる情報は、エラー訂正デコーダ24の状態を更新(又は、再計算)する遅延パケット到着処理ユニット26によって使用できる。 例証として図3に示されるように、遅延パケット到着処理ユニット26、及びその構成要素は、デコーダの内部のメモリに記憶され、デコーダの(制御装置、マイクロプロセッサ、又は他のコンピュータ装置のような)要素プロセッサによって検索され実行されるソフトウェアを含む。 或いは、当業者が認めるように、遅延パケット到着処理ユニット26、及びその構成要素は、ハードウェア、若しくはファームウェア、又はソフトウェア、ハードウェア、及びファームウェアの任意の組み合わせを含む。

    図3は、順方向エラー訂正コードのデコード中に遅延パケット到着に含まれる情報を使用することにより、本発明の1実施例によって実施できるデコード技術の更に詳細な例示を示す。 図3では、スケジューリングした(又は、要求された)プレイアウト時間を過ぎて到着するか、又はパケット受信バッファが一杯でない限り、ネットワークから到着するパケットはパケット受信バッファ22へ最初に配置される。 もしパケット受信バッファ22が一杯なら、到着したパケットは単に廃棄されるか又は阻止される。 図1のように、受信バッファ22に保持されているパケットは、パケット・プレイアウト・スケジュールに従ってプレイアウトされる。 パケットがプレイアウトされるとき、情報ビット/フレームがパケットから抽出され、情報ビット/フレームがエラー訂正デコーダ24によって1ビット/フレーム同時にデコードされる(又は、実施例の中には、ビット/フレームのグループでデコードされるものもある)。 デコーダ24の出力は、デコードされた出力信号x(k)である。 ここで、x(k)=D(f(k),S(k−1))である。 もしパケットがプレイアウトされるべきときにパケットバッファ22が空(欠乏)なら、デコーダ24への連続した情報ストリームを維持するために、消去ビット/フレームが挿入できる。

    図1に示される従来技術とは異なり、図3に示される実施例は、遅延パケットが到着するときに実行される1組の追加ステップを実施することを補助する遅延パケット到着処理ユニット26を含む。 図1の従来技術では、遅延パケットは単に廃棄(又は、削除)される。 しかし、図3の例示の実施例では、遅延パケット到着のビット/フレーム情報は、(i)ステップ29に示されるように補助ビット/フレーム・バッファ28を更新するため、(ii)ステップ31に示すように補助デコーダ状態バッファ30を更新するため、及び(iii)ステップ33に示すようにエラー訂正デコーダ状態S(k)を更新するために使用できる。 ビット/フレーム・バッファ28は、最新の(M−1)個の入力ビット/フレームを保持し、パケットバッファが欠乏したときに挿入されたビット/フレーム消去表示を含む。 言い換えれば、ビット/フレーム・バッファ28は、エラー訂正デコーダ24に提供されてきたビット/フレームの最近のヒストリを保持する。 ビット/フレームがエラー訂正デコーダ24に提供されるとき、ビット/フレームもビット/フレーム・バッファ28にコピーされる。 従って、時刻kにおけるビット/フレーム・バッファ28の状態は、ビット/フレームA(k)={f(k),f(k−1),. . . ,f(k−M)}と定義できる。 デコーダ状態バッファ30はエラー訂正デコーダ24の最新のM個の状態を保持し、言い換えれば、デコーダ状態バッファ30はデコーダ状態の最近のヒストリを保持する。 デコーダ24の状態が連続するビット/フレームのデコードで変化するとき、デコーダの新しい状態の各々もデコーダ状態バッファ30にコピーされる。 従って、時刻kにおけるデコーダ状態バッファ30の状態は、デコーダ状態B(k)=(S(k),S(k−1),...,S(k−M−1))と定義できる。

    遅延パケットが到着するとき、一般に遅延パケット到着処理ユニット26は、ビット/フレーム・バッファを更新するステップ29の間に遅延パケット中のビット/フレームが対応する時間エポックを最初に決定する。 これは、遅延パケットのヘッダ欄に含まれるシーケンス番号、及び/又はタイムスタンプ情報から決定できる。 遅延パケット中のビット/フレームの集合g(.)は、{g(e),g(e+1),. . . ,g(e+n−1)}によって与えられる。 ここで、nは遅延パケット中のビット/フレームの数であり、eは遅延パケット中の第1のビット/フレームの時間エポックである。 次に、ビット/フレーム・バッファA(k)(28)は、遅延パケットが対応する時間エポックと同じ時間エポックに対応するA(k)中のそれらビット/フレームを取り替えることによって更新される。 例えば、もしf(e)がA(k)中にあれば、f(e)はg(e)と取り替えられ、もしf(e+1)がA(k)中にあれば、f(e+1)はg(e+1)と取り替えられ、もしf(e+n−1)がA(k)中にあれば、f(e+n−1)はg(e+n−1)と取り替えられる。 上記のように、消去ビット/フレームは、デコーダ24への連続した情報ストリームを維持するために、遅延して到着したパケットの代わりにビット/フレーム・バッファA(k)へ最初に挿入される。 従って、もしf(i)がA(k)中にありg(i)が遅延パケットに含まれるなら、f(i)は消去に対するプレースホルダとして主に機能する表示されたビット/フレーム消去であった。 遅延して到着したパケットを含むための更新に続き、ビット/フレーム・バッファ28のコンテンツは、A * (k)=(f * (k),f * (k−1),...,f * (k−M)}として定義される。

    ビット/フレーム・バッファ28を更新したので、更新されたビット/フレーム・バッファA * (k)を考慮して過去のデコーダ状態を再帰的に再計算(更新)することによってデコーダ状態バッファ30が更新される。 この点に関して、f(j)をビット/フレーム・バッファ28の更新でg(j)と取り替えられたA(k)中の最先のビット/フレームとする。 次に、S(k)がS * (k)=D(f * (k),S * (k−1))として再計算されるまで、S(j)をS * (j)=D(f * (j),S(j−1))として再計算し、S(j+1)をS * (j+1)=D(f * (j+1),S * (j))として再計算し、以下同様とすることによって、デコーダ状態バッファ30が再帰的に更新される。 最後に、再計算された(更新された)状態S * (k)に設定することによって、デコーダ24自体の現在の状態が更新される。 従って、もし遅延パケットに含まれる情報が当初は時間通りに到着し、一般的な方法でデコードされていたら、デコーダの再計算された状態はデコーダが有していた状態と同じなので、少なくともビットエラーレート観点から、デコーダ24の性能を向上させる。 遅延パケットを受信すると直ぐにデコーダの状態を更新することによって、本発明による好ましい実施例の方法及びシステムは、デコーダの状態に遅延パケット消去が有害に影響する時間での伝播を終了させる。

    上記のように、遅延パケット到着に含まれる情報を使用する本発明により実施される実施例は、連続するビット/フレームのデコードで状態情報を維持するエラー訂正デコーダと一緒に使用できる。 1実施例は、重畳エラー訂正コードのためのビタビデコーダである。 しかし、デコーダが状態情報を連続するビット/フレームのデコードで維持する限り、本発明の実施例はその適用範囲を特定のエラー訂正コード化方式、又はデコード方式に決して限定されない。 本発明の実施例の方法及びシステムが適用される、重畳ターボコードに対するデコーダのような多くの他の実施例が存在する。 ここに記載される実施例、及び例証は、連続するビット/フレームのデコードで状態情報を維持する、将来発明されるかも知れない新しいエラー訂正デコーダにも適用される。

    以上、本発明の好ましい実施例について図示し記載したが、特許請求の範囲によって定められる本発明の範囲から逸脱することなしに種々の変形および変更がなし得ることは、当業者には明らかであろう。

    パケットを受信し、エラー訂正コードでエンコードされてきた情報ビット又はフレームをデコードするための従来技術を示す。

    本発明の1実施例によって実施される例示のデコード技術の例示のデコード技術を示す。

    エラー訂正コードのデコード中に遅延パケット到着に含まれる情報を使用することにより、本発明の1実施例によって実施できるデコード技術の更に詳細な例示を示す。

    符号の説明

    12 パケット受信バッファ 14 エラー訂正デコーダ 22 パケット受信バッファ 24 エラー訂正デコーダ 26 遅延パケット到着処理ユニット 28 ビット/フレーム・バッファ 30 デコーダ状態バッファ

    QQ群二维码
    意见反馈