(57)【要約】  直列連接復号化を実行するためのシステム、方法及び製造物が図示及び説明される。復号化は、アウター復号化中に複数のデータブロックに行った訂正数の指標をモニタし、最適インナー復号化が適用されるときに直列連接復号化を実行するプロセッサが受ける計算負荷と比較して、次善インナー復号化の適用がプロセッサが受ける計算負荷を低減するか判断することを含む。【特許請求の範囲】
【請求項１】
インナー復号化とアウター復号化とを有する直列連接復号化を実行する方法であって、
アウター復号化中に複数のデータブロックに行われた訂正数の指標をモニタするステップと、
前記訂正数の指標に応答して、最適インナー復号化が適用される際に前記直列連接復号化を実行するプロセッサが受ける計算負荷と比較して、次善インナー復号化を適用することが、前記プロセッサが受ける計算負荷を低減するか判断するステップと、
前記判断が前記受ける計算負荷が低減することを示すとき、前記プロセッサが、直列連接復号化されるデータに対して次善インナー復号化を適用するステップと、
を有する方法。
【請求項２】
前記アウター復号化の出力がエラーを含んでいるという指摘に応答して、前記次善復号化により以前に復号化された前記複数のデータブロックの一部に最適インナー復号化を一時的に適用するステップをさらに有する、請求項１記載の方法。
【請求項３】
前記訂正数の指標をモニタするステップは、前記インナー復号化の出力のバイトエラーレートをモニタすることからなる、請求項１記載の方法。
【請求項４】
前記アウター復号化は、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ復号化アルゴリズムを適用することからなる、請求項１記載の方法。
【請求項５】
前記アウター復号化の前に、前記インナー復号化の結果をデインタリーブするステップをさらに有する、請求項１記載の方法。
【請求項６】
前記最適インナー復号化の適用は、６４状態のＶｉｔｅｒｂｉ復号化を適用することからなる、請求項１記載の方法。
【請求項７】
前記次善インナー復号化の適用は、３２状態のＶｉｔｅｒｂｉ復号化を適用することからなる、請求項１記載の方法。
【請求項８】
前記最適インナー復号化の適用は、ログＭＡＰターボ復号化アルゴリズムを適用することからなる、請求項１記載の方法。
【請求項９】
前記次善インナー復号化の適用は、マックスログＭＡＰターボ復号化アルゴリズムを適用することからなる、請求項１記載の方法。
【請求項１０】
前記次善インナー復号化の適用は、最適ＬＤＰＣインナー復号化の繰り返し数と比較して、より少ない繰り返し回数を有するＬＤＰＣ復号化を適用することからなる、請求項１記載の方法。
【請求項１１】
直列連接復号化のためのシステムであって、
入力と複数の出力とを有するセレクタと、
第１セレクタ出力と通信する入力と出力とを有する最適インナーデコーダと、
第２セレクタ出力と通信する入力と出力とを有する次善インナーデコーダと、
前記最適インナーデコーダと前記次善インナーデコーダとのそれぞれの出力と通信するアウターデコーダと、
を有し、
前記アウターデコーダは、前記最適インナーデコーダ又は前記次善インナーデコーダが前記アウターデコーダの動作中の複数のデータブロックに行った訂正数の指標をモニタすることに基づき、復号化用のデータを受信するか判断する前記セレクタと通信する出力を有するシステム。
【請求項１２】
通信する出力を有するバッファをさらに有する、請求項１１記載のシステム。
【請求項１３】
前記最適インナーデコーダと前記次善インナーデコーダとのそれぞれの出力と通信し、前記最適インナーデコーダと前記次善インナーデコーダとの出力を受信し、さらに前記アウターデコーダと通信するデインタリーバをさらに有する、請求項１１記載のシステム。
【請求項１４】
前記最適インナーデコーダは、６４状態のＶｉｔｅｒｂｉデコーダを有し、
前記次善インナーデコーダは、３２状態のＶｉｔｅｒｂｉデコーダを有する、請求項１１記載のシステム。
【請求項１５】
前記アウターデコーダは、Ｒｅｅｄ−Ｓｏｌｏｍｏｎデコーダを有する、請求項１１記載のシステム。
【請求項１６】
前記最適インナーデコーダは、ログＭＡＰターボデコーダを有し、
前記次善インナーデコーダは、マックスログＭＡＰターボデコーダを有する、請求項１１記載のシステム。
【請求項１７】
前記最適インナーデコーダは、ＬＤＰＣデコーダを有し、
前記次善インナーデコーダは、前記最適インナーデコーダより少ない繰り返しを実現するＬＤＰＣデコーダを有する、請求項１１記載のシステム。
【請求項１８】
前記アウターデコーダの出力は、前記アウターデコーダの出力がエラーを含むとき、次善インナー復号化を用いて以前に復号化された前記複数のデータブロックの一部を少なくとも再復号化するのに最適インナー復号化が利用されるか制御する、請求項１１記載のシステム。
【請求項１９】
マシーン可読記憶媒体と、
前記マシーン可読記憶媒体に実現される実行可能なプログラム命令と、
を有する製造物であって、
前記マシーン可読記憶媒体は、プログラム可能なシステムによって実行されると、前記システムにインナー復号化とアウター復号化とを有する直列連接復号化の機能を実行させ、
前記機能は、
アウター復号化中に複数のデータブロックに行った訂正数の指標をモニタするステップと、
前記訂正数の指標に応答して、最適インナー復号化が適用される際に前記プログラム可能なシステムの直列連接復号化を実行するプロセッサが受ける計算負荷と比較して、次善インナー復号化を適用することが、前記プロセッサが受ける計算負荷を低減するか判断するステップと、
前記判断が前記受ける計算負荷が低減することを示すとき、前記プロセッサが、直列連接復号化されるデータに対して次善インナー復号化を適用するステップと、
を有する製造物。
【請求項２０】
前記機能はさらに、前記アウター復号化の出力がエラーを含んでいるという指摘に応答して、前記次善復号化により以前に復号化された前記複数のデータブロックの一部に最適インナー復号化を一時的に適用するステップをさらに有する、請求項１９記載の製造物。
【請求項２１】
前記訂正数の指標をモニタするステップは、前記インナー復号化の出力のバイトエラーレートをモニタすることからなる、請求項１９記載の製造物。
【請求項２２】
前記アウター復号化は、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ復号化アルゴリズムを適用することからなる、請求項１９記載の製造物。
【請求項２３】
前記アウター復号化の前に、前記インナー復号化の結果をデインタリーブするステップをさらに有する、請求項１９記載の製造物。
【請求項２４】
前記最適インナー復号化の適用は、６４状態のＶｉｔｅｒｂｉ復号化を適用することからなる、請求項１９記載の製造物。
【請求項２５】
前記次善インナー復号化の適用は、３２状態のＶｉｔｅｒｂｉ復号化を適用することからなる、請求項１９記載の製造物。
【請求項２６】
前記最適インナー復号化の適用は、ログＭＡＰターボ復号化アルゴリズムを適用することからなる、請求項１９記載の製造物。
【請求項２７】
前記次善インナー復号化の適用は、マックスログＭＡＰターボ復号化アルゴリズムを適用することからなる、請求項１９記載の製造物。
【請求項２８】
前記次善インナー復号化の適用は、最適ＬＤＰＣインナー復号化の繰り返し数と比較して、より少ない繰り返し回数を有するＬＤＰＣ復号化を適用することからなる、請求項１９記載の製造物。
【発明の詳細な説明】
【技術分野】
【０００１】
本主題は、通信システムのための技術及び装置に関する。より詳細には、データを復号化するための技術及び装置に関する。
【背景技術】
【０００２】
直列連接復号化は、典型的には、直列接続される２つのデコーダを伴う。第１デコーダは、典型的には、インナーデコーダと呼ばれ、第２デコーダは、アウターデコーダと呼ばれる。直列連接は、多くの利用に適する。１つの具体例は、コードワードからの情報ビットの復元である。
【０００３】
より具体的な例では、ＤＶＢＴ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔ  Ｔｅｒｒｅｓｔｒｉａｌ）規格は、送信機において直列連接符号化を利用する。送信機は、非バイナリブロックコード（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ（ＲＳ）コードなど）と、これに後続するパンクチャード畳み込み符号（しばしば順方向誤り訂正と呼ばれる）とを有する。放送を視聴するため、受信機は、直列連接復号化を利用する。典型的な実現形態は、インナーデコーダとしてＶｉｔｅｒｂｉデコーダと、アウターデコーダとしてＲｅｅｄ−Ｓｏｌｏｍｏｎデコーダとを利用する。
【０００４】
一部の具体例では、セットボックス又はテレビは、受信機能を有する。しかしながら、他のメーカーは、パーソナルコンピュータをＤＶＢＴ受信機に変換可能な集積回路を開発している。例えば、消費者は、自らのパーソナルコンピュータ上で地上波放送を受信及び視聴することを可能にするＵＳＢに着脱可能な受信機を購入することができる。
【０００５】
このような装置では、パーソナルコンピュータのプロセッサは、しばしば特定の受信機能を提供するのに利用される。例えば、パーソナルコンピュータのプロセッサは、復号化処理の一部又はすべてを提供するのに利用可能である。この結果、他のタスクを実行するためのパーソナルコンピュータのプロセッサの利用性に悪影響を及ぼす。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一例では、本開示は、直列連接復号化を実行するためのシステム、方法及び製造物に関する。次善的なインナーデコーダの利用は、最適なインナー復号化を実行するのと比較するとき、処理要素が受ける処理負荷を低減する。従って、プロセッサは、復号化に関連しない追加的なタスクを実行することが可能となる。
【課題を解決するための手段】
【０００７】
一態様では、本開示は、インナー復号化とアウター復号化とを有する直列連接復号化を実行する方法に関する。本方法は、アウター復号化中に複数のデータブロックに行った訂正数の指標をモニタし、最適インナー復号化が適用されるとき直列連接復号化を実行するプロセッサが受ける計算負荷と比較して、次善インナー復号化の適用がプロセッサが受ける計算負荷を低減するか判断することを含む。本方法はまた、受ける計算負荷が低減されると上記判断が示すとき、プロセッサが直列連接復号化されるデータに対して次善インナー復号化を適用することを含む。
【０００８】
他の各種実施例では、本方法はまた、次善復号化により以前に復号化されたデータブロックの一部に最適インナー復号化を一時的に適用することを含むことができる。この再復号化は、アウター復号化の出力がエラーを含んでいるという指摘に応答して実行される。本方法はまた、インナー復号化の出力のバイトエラーレートをモニタすることを含むことができる。インナーデコーダの出力のデインタリーブがまた、本方法に含めることができる。
【０００９】
いくつかの実施例では、アウターデコーダは、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ復号化アルゴリズムを実現するＲｅｅｄ−Ｓｏｌｏｍｏｎデコーダである。各種の最適及び次善インナー復号化ペアが、システム及び方法の一部として実現可能である。例えば、最適インナー復号化は、６４状態のＶｉｔｅｒｂｉ復号化を適用することを含み、次善インナー復号化は、３２状態のＶｉｔｅｒｂｉ復号化を適用することを含む。他の実施例は、ログＭＡＰターボ復号化アルゴリズムを適用する最適インナー復号化と、マックスログＭＡＰターボ復号化アルゴリズムを適用する次善インナー復号化とを含む。さらなる他の実施例は、最適ＬＤＰＣインナー復号化の繰り返し数と比較すると、より少ない繰り返し数によりＬＤＰＣ復号化を適用する次善インナー復号化を有する。
【００１０】
他の実施例では、本開示は、直列連接復号化を実行するシステムに関する。本システムは、セレクタと、最適インナーデコーダと、次善インナーデコーダと、アウターデコーダとを含む。セレクタは、入力と複数の出力とを有する。最適インナーデコーダは、第１セレクタ出力と通信する入力と出力とを有する。次善インナーデコーダは、第２セレクタ出力と通信する入力と出力とを有する。アウターデコーダは、最適インナーデコーダと次善インナーデコーダとのそれぞれの出力と通信する。アウターデコーダは、アウターデコーダの動作中に複数のデータブロックに行った訂正数の指標をモニタすることに基づき、最適インナーデコーダと次善インナーデコーダとが復号化用のデータを受信するか判断するセレクタと通信する出力を有する。
【００１１】
本開示の装置、システム及び方法は、多数のタイプの信号及びデータを復号化するのに利用可能である。例えば、音声信号が復号化可能である。また、ビデオ信号が復号化可能である。もちろん、合成された音声及びビデオ信号が復号化可能である。従って、ここに開示される装置、システム及び方法は、テレビアプリケーション、オーディオアプリケーション、無線通信アプリケーション（携帯電話、無線ネットワーキングなど）、ネットワーキングアプリケーション及び他のアプリケーションにおいて利用可能である。
【００１２】
一実施例では、本開示は、ここに開示される復号化を実現する各種形態を示す。一実施例では、デコーダは、プロセッサ（セットトップボックスに配置されるなど）と、ソフトウェアにより実行される関連するソフトウェアとを有する。他の実施例では、プロセッサは、携帯電話に配置され、関連するソフトウェアは、電話によって実行される。もちろん、ラジオは、関連するソフトウェアを実行するプロセッサを含むことができる。
【００１３】
他のコンセプトは、直列連接復号化を実現するのに特有のソフトウェアに関する。ソフトウェアプロダクトは、このコンセプトに従って、少なくとも１つのマシーン可読媒体と当該媒体により搬送される情報とを含む。媒体により搬送される情報は、実行可能なプログラムコードであってもよい。
【００１４】
他の実施例では、本開示は、製造物に関する。製造物は、マシーン可読記憶媒体と、プログラム可能なシステムによって実行されると、インナー復号化とアウター復号化とを有する直列連接復号化の機能をシステムに実行させるマシーン可読記憶媒体に実現される実行可能なプログラム命令とを有する。当該機能は、アウター復号化中に複数のデータブロックに行った訂正数の指標をモニタし、最適インナー復号化が適用されるときに直列連接復号化を実行するプログラム可能なシステムのプロセッサが受ける計算負荷と比較して、次善インナー復号化の適用がプロセッサが受ける計算負荷を低減するか判断することを含む。当該機能はまた、受ける計算負荷が低減されるという判断が示されると、プロセッサが次善インナー復号化を直列連接復号化されるデータに対して適用することを含む。
【００１５】
他の実施例では、制御機能は、ＲＳ出力を利用して、次善インナーデコーダが失敗したか判断し、肯定される場合、最適インナーデコーダによる再復号化をトリガする。制御機能はまた、インナーデコーダが以降のブロックにおいてより低い負荷を生じさせることが期待されるか決定するようにしてもよい。このような決定は、例えば、ＲＳ復号化結果に対して実行される統計解析などに基づくものであってもよい。最適デコーダが現在のチャネル状態に置いてより低い負荷を有するとされる場合、以降のＲＳ解析がチャネル状態が次善デコーダの利用に役立つと結論付けるまで、次善デコーダは以降のブロックにおいては利用されない。
【００１６】
次善インナーデコーダは、最適デコーダの一部でなく、情報を共有しない。一例となるシステムにおけるＲＳデコーダは、インナーデコーダの復号化を支援しない。それは、次のブロックに対して何れのデコーダが実行するか判断するためと、次善モードの復号化の検証として使用される。
【図面の簡単な説明】
【００１７】
【図１】図１は、直列連接復号化を実行するシステムの一実施例の機能ブロック図である。
【図２】図２は、直列連接復号化を実行する方法の一実施例を示すフローチャートである。
【図３】図３は、最適及び次善インナーデコーダのバイトエラーレート（ＢｙＥＲ）測定値の間の関係を示すグラフである。
【図４】図４は、次善及び最適復号化と最適復号化のためのＢｙＥＲとの計算コストを示すグラフである。
【図５】図５は、次善及び最適復号化と次善復号化のためのＢｙＥＲとの計算コストを示すグラフである。
【図６】図６は、ホスト又はサーバとして構成されるコンピュータの簡略化された機能ブロック図である。
【図７】図７は、パーソナルコンピュータ又は他のワークステーション若しくは端末装置の簡略化された機能ブロック図である。
【発明を実施するための形態】
【００１８】
以下の詳細な説明では、関連する教示の完全な理解を提供するため、多数の具体的詳細が一例として提供される。しかしながら、本教示はこのような詳細なしに実現されてもよいことが当業者に明らかであるべきである。他の例では、本教示の特徴を不要に不明りょうにすることを回避するため、周知の方法、処理、構成要素及び／又は回路が、詳細なしに比較的ハイレベルに説明された。
【００１９】
ここに開示される各種具体例は、直列連接復号化を実行するシステム、方法及び製造物に関する。ここに開示される直列連接復号化は、いくつかの具体例では、他の直列連接復号化システムと比較すると、プロセッサによる処理負荷を軽減する。この負荷の軽減は、データの復号化中に他のタスクを実行するため処理リソースを解放することになる。
【００２０】
添付した図面に図示され、後述される実施例が詳細に説明される。図１は、直列連接復号化を実行するシステム１０の一実施例を示す。システム１０は、バッファ１４と、セレクタ１８と、最適インナーデコーダ２２と、次善インナーデコーダ２６と、デインタリーバ３０と、アウターデコーダ３４とを有する。
【００２１】
バッファ１４は、復調装置（図示せず）及びセレクタ１８と通信する。バッファ１４は、実質的に復調装置から受信したデータブロックを格納するメモリである。データブロックは、一例では、テレビ放送の受信信号を表す。バッファ１４は、復号化を実行する図６及び７に示されるような計算装置（パーソナルコンピュータなど）のメモリ内に配置できる。バッファ１４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などとすることができる。
【００２２】
バッファ１４の格納サイズは、一例では、デインタリーバ３０とインナーデコーダ２２，２６の遅延（復号化ブロックに関して表現される）の合計に等しくなるよう選択される。もちろん、バッファ１４は、用途に依存してより大きく又はより小さくすることができる。一例では、インナーデコーダ２２，２６の遅延は１データブロックであると仮定する。ある期間データブロックを格納することは、必要に応じてデータブロックの再復号化を可能にする。例えば、次善インナー復号化がいくつかのデータブロックに当初に適用される場合、アウターデコーダの出力はエラーを示す可能性がある。このような場合、次善インナーデコーダ２６を用いて以前に復号化したデータブロックの一部又はすべてが、バッファ１４から抽出され、最適インナーデコーダ２２を用いて再復号化される。再復号化のさらなる詳細は、後述される。
【００２３】
セレクタ１８は、バッファ１４、最適インナーデコーダ２２及び次善インナーデコーダ２６と通信する。セレクタ１８は、バッファ１４から受信したデータブロックに最適インナー復号化又は次善インナー復号化適用されるか選択するための機構を提供する。実質的に、セレクタ１８は、インナーデコーダ２２，２６の１つをバッファ１４に接続するためのスイッチとして機能する。セレクタ１８は、ソフトウェアルーチン物理的電子回路（トランジスタやダイオードなど）におけるフラグを含む多数の形態をとりうる。２つの状態ポジション０又はポジション１を有するものとしてセレクタ１８は示されるが、存在するインナーデコーダの個数に依存してより多くの状態が可能であることが理解されるべきである。
【００２４】
最適インナーデコーダ２２は、セレクタ１８及びデインタリーバ３０と通信する。セレクタ１８との接続は、定期的に確立することが可能である。すなわち、セレクタ１８との接続は、必要に応じて一時的に適用及び削除可能である。この処理のさらなる詳細は、後述される。ここで用いられる最適とは、次善インナーデコーダ２６と比較してより大きな処理負荷をもたらす復号化を意味する。修飾語としての“最適”の利用は、完全性の絶対的な指標を意味するものでない。それは単に、インナーデコーダの間の分離の程度を示すのに利用されるにすぎない。例えば、３つのインナーデコーダが使用される場合、特定のアプリケーションでは、良好なインナーデコーダ、より良好なインナーデコーダ及び最善のインナーデコーダとみなすことができる。このような場合、“最善のインナーデコーダ”が、最適インナーデコーダ２２とみなすことができる。いくつかのアプリケーションでは、最適インナーデコーダ２２はハードウェアにより実現される。他のアプリケーションでは、最適インナーデコーダ２２はソフトウェアにより実現される。また、ソフトウェアとハードウェアとの組み合わせが利用可能である。
【００２５】
一例では、最適インナーデコーダ２２は、Ｖｅｔｅｒｂｉデコーダである。Ｖｉｔｅｒｂｉデコーダは、いくつかの状態（例えば、６４個の）を有する。最適インナーデコーダ２２は、本例では、Ｖｉｔｅｒｂｉ復号化アルゴリズムをバッファ１４から受信したデータブロックに適用する。
【００２６】
他の例では、最適インターデコーダ２２は、次善デコーダ２６と比較すると、より多くの復号化繰り返しを実現するＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）デコーダとすることができる。最適インナーデコーダ２２は、何れかの復号化アルゴリズムを実現可能である。具体例として、以下に限定することなく、確率伝搬アルゴリズム、メッセージパッシングアルゴリズム、積和アルゴリズムなどがあげられる。ＬＤＰＣコードはまた。Ｇａｌｌａｇｈｅｒコードと呼ばれる。
【００２７】
さらなる実施例では、最適インナーデコーダ２２は、ターボコードデコーダである。特定の実施例では、最適インナーデコーダ２２は、ログＭＡＰターボ復号化アルゴリズムを実装する。もちろん、他の既知のターボコード復号化アルゴリズムが利用可能である。
【００２８】
次善インナーデコーダ２６は、セレクタ１８及びデインタリーバ３０と通信する。セレクタ１８との接続は、定期的に確立することができる。すなわち、セレクタ１８との接続は、必要に応じて一時的に適応及び削除することができる。ここで使用される次善とは、最適インナーデコーダ２２と比較するとき、処理負荷を低減する復号化を示す。修飾語としての“次善”の使用は、絶対的な指標を意味するものでない。いくつかのアプリケーションでは、次善インナーデコーダ２６はハードウェアにより実現される。他のアプリケーションでは、次善インナーデコーダ２６はソフトウェアにより実現される。また、ソフトウェアとハードウェアとの組み合わせがまた利用可能である。
【００２９】
いくつかのアプリケーションでは、次善インナーデコーダ２６は、最適インナーデコーダ２２の補完として選択される。例えば、６４状態のＶｉｔｅｒｂｉデコーダが最適デコーダ２２である場合、次善インナーデコーダ２６は、より少ない（例えば、３２個の）状態を有するＶｉｔｅｒｂｉデコーダである。他の実施例では、最適インナーデコーダ２２が３２状態のＶｉｔｅｒｂｉデコーダである場合、次善インナーデコーダ２６は１６状態を有することが可能である。他の実施例では、最適デコーダ２６と比較するとき、より少数の復号化繰り返しを有するＬＤＰＣ復号化アルゴリズムが利用される。また、次善インナーデコーダ２６は、最適インナーデコーダ２２がログＭＡＰターボコード復号化アルゴリズムを実行しているとき、マックスログＭＡＰターボ復号化アルゴリズムを実行可能である。もちろん、次善インナーデコーダが復号化をプロセッサが実行することにより受ける処理負荷を低減する場合、最適インナーデコーダ２２と次善インナーデコーダ２６との各種組み合わせが利用可能である。
【００３０】
デインタリーバ３０は、最適インナーデコーダ２２及び次善インナーデコーダ２６と通信する。デインタリーバ３０は、インナー復号化されたデータを受信し、インナー復号化されたデータ内でエラーパターンをランダム化する。いくつかのアプリケーションでは、インナーデコーダ２２，２６は、出力としてデータビットを生成するよう動作する。このような場合、これらのビットは、デインタリーバ３０による処理前にバイトに変換される。いくつかの実施例では、デインタリーバ３０は、複数の復号化ブロックの遅延を有する畳み込みデインタリーバである。
【００３１】
アウターデコーダ３４は、デインタリーバ３０と通信する。アウターデコーダ３４は、具体的なバイト数“Ｂ”バイトまで訂正することが可能であると仮定される。すなわち、アウターデコーダ３４は、最大数のバイトエラーを有する入力を受け付け、これらのエラーを良好に訂正することができる。アウターデコーダへの入力がＢ個より多くのエラーを有する場合、アウターデコーダ３４の出力は復号化失敗を示す。この指摘は、一部の実施例では、次善インナーデコーダを用いて当初復号化されたデータブロックを最適インナーデコーダ２２により再符号化することをトリガするのに用いられる。
【００３２】
アウターデコーダ３４は、一例では、Ｒｅｅｄ−Ｓｏｌｏｍｏｎ（ＲＳ）デコーダである。アウターデコーダ３４はまた、インナー復号化されたデータに対して実行される訂正の回数を示す。この訂正回数の指標は、最適インナー復号化又は次善インナー復号化がシステムの全体的なエラーパフォーマンスに影響を与えることなくシステムによって利用可能である。他のデコーダは、それが復号化が失敗したか否かを極めて高い信頼度で示す場合、アウターデコーダ３４として利用可能である。アウターデコーダ３４の出力は、復号化されたデータである。
【００３３】
システム１０の１つの目標は、チャネル状態がより低い計算負荷により次善インナーデコーダが使用されることを可能にするとき、最適インナーデコーダを利用する装置内で同じエラーパフォーマンスを取得することである。これは、エラー統計をモニタし、双方の動作モード（すなわち、最適及び次善）において他方のモードがプロセッサが受けるより低い計算負荷を提供するか正確に予測することによって実現可能である。モード間の高速切替は、変動するチャネル状態に応答することができる。従って、何れかのモードにおいて、出力エラーパフォーマンスは実質的に損なわれない。
【００３４】
動作について、上述されたシステム１０は、データブロックの直列連接復号化を提供する。図示されるように、システムは２つの動作モードを提供することができる。第１モードは次善モードと呼ばれる。また、第２モードは最適モードと呼ばれる。最適モードでは、セレクタ１８はポジション０に留まり、これにより、バッファ１４、最適インナーデコーダ２２、デインタリーバ３０及びアウターデコーダ３４を有する通信パスが確立される。
【００３５】
次善モードでは、セレクタ１８は、通常はポジション１にある。しかしながら、アウターデコーダ３４の失敗の結果として、再復号化が起動されると、それはポジション０に切り替えられる。次善モードによる動作時、バッファ１４、次善インナーデコーダ２６、デインタリーバ３０及びアウターデコーダ３４との間で通信パスが確立される。しかしながら、再符号化が必要である場合、セレクタ１８は、最適インターデコーダ２２にスイッチするため、ポジション０に一時的に移行する。これは、データブロックの再復号化を可能にする。データブロックが再復号化された後、セレクタはポジション１に戻り、次善インナーデコーダ２６は、処理パスに戻される。
【００３６】
図２を参照して、直列連接復号化を実行する方法２００が説明される。方法２００は、アウターデコーダ３４により実行される訂正をモニタし（ステップ２１０）、次善インナー符号化が許容されるか判断し（ステップ２２０）、次善インナー符号化を適用する（ステップ２３０）ことを含む。一部の実施例では、本方法はまた、アウターデコーダ３４の出力においてエラー（復号化の失敗など）を検出し（ステップ２４０）、最適インナー復号化を用いて以前に復号化されたデータの一部を再復号化する（ステップ２５０）ことを含む。
【００３７】
一実施例では、セレクタ１８が復号化の開始時にポジション０からスタートすると仮定する。ある期間後、アウターデコーダ３４の出力に基づき測定が行われ、セレクタがポジション１に移行すべきか判断される。例えば、ある期間におけるアウターデコーダ３４により訂正されたエラー数が閾値未満である場合、スイッチポジションは１に変更可能である。ここで、訂正されたエラー数に基づき、次善インナーデコーダ２６は、最適インナーデコーダ２２と比較するときより小さな計算負荷により復号化を処理可能であると推定される。次善インナーデコーダ２６の利用は、典型的には、アウターデコーダ３４の出力に悪影響を有さない。これは、アウターデコーダはＢ個までのエラーを訂正可能であるためである。次善インナーデコーダ２６がＢ個未満のエラーを有するデータブロックを出力する限り、アウターデコーダ３４は当該データブロックを訂正できる。
【００３８】
他の実施例では、アウターデコーダ３４により行われる訂正数のモニタ（ステップ２１０）は、アウターデコーダ３４への入力において測定されるバイトエラーレート（ＢｙＥＲ）を決定することを含む。上述されるように、アウターデコーダ３４はＢバイトまで訂正可能であると仮定する。アウターデコーダ３４の入力においてＮバイトより多くのエラーがある場合、アウターデコーダは復号化失敗を示す。復号化が成功した場合、訂正されたバイトがアウターデコーダ３４により生成される。本実施例では、Ｎ個のデータブロックの復号化中にＲＳデコーダのフィードバックをモニタすることによって、ＢｙＥＲが推定される。式１は、ＢｙＥＲの指標を示す。
【００３９】
【数１】
2012525753.tif 000002
式１では、Ｎｂはデインタリーバ３０後の復号化ブロックのバイト数を示し、Ｎｆは失敗した復号化ブロックの個数を示す。また、ｂは期間中に訂正されたバイト数を示す。
【００４０】
一実施例では、次善インナー符号化が許容できるかの判断（ステップ２２０）は、測定されたＢｙＥＲを用いて、当該ノードにおける処理に係る計算コスト（計算要素のプロセッサが受ける負荷など）を計算することを含む。計算コストの推定値は、各モードにおけるバイトエラーレートの間の所定の関係を用いて計算される。
【００４１】
例えば、最適モードでは、スイッチはポジション０にロックされ、最適モードの測定値はＢｙＥＲｓｗ０により示される。ここでの添え字は、スイッチポジションを示す。次善モードでは、スイッチは、ポジション１と０の双方にあってもよいが、スイッチがポジション１にあるときにＢｙＥＲが測定される。従って、次善モードのＢｙＥＲは、ＢｙＥＲｓｗ１により示される。何れかのモードにおいて、当該モードにおける計算コストは、当該モードの測定から計算される。上述されるように、他のノードにおけるコストの推定値は、ＢｙＥＲｓｗ０とＢｙＥＲｓｗ１との間の所定の関係を用いることによって良好に計算可能である。この関係を利用することによって、次善モードにおける動作が処理要素が受ける処理負荷を低減するかの決定は、アウターデコーダの出力に悪影響を与えることなく低減される。すなわち、ＢｙＥＲをモニタすることによって、インナーデコーダから生じるビットエラー数を潜在的に増加させる判断が可能となる。インナーデコーダから生じるビットエラーの潜在的な増加は、次善デコーダを利用した結果である。しかしながら、インナーデコーダの処理要求は全体的な処理要求の大きなパーセンテージを説明するため、次善インナー復号化を利用することから生じる処理の低減は、全体的な処理負荷の有意な影響を有しうる。
【００４２】
図３を参照して、ＢｙＥＲｓｗ０とＢｙＥＲｓｗ１との間の関係が図示及び説明される。図示されるように、ＢｙＥＲｓｗ０とＢｙＥＲｓｗ１との間の関係は、変調及びコードレートに依存する。図３は、６４ＱＡＭの変調と３／４のインナーコードレートとについて、この関係を示す。図３は、次善モードにおけるＢｙＥＲｓｗ１に対する最適モードにおけるＢｙＥＲｓｗ０のプロットである。この結果は異なるチャネルに対するシミュレーションに関し、図３のマーカー“＊”として示される。実線は、最も良く適合する６次多項式ｇ（ＢｙＥＲ）を表す。もちろん、他の変調とコードレートとの組み合わせは、他の多項式をもたらす。
【００４３】
上述されるように、計算コストの推定値“Ｃ”は、次善モードで動作するか決定するのに利用可能である。以下の式は、最適モードＣＯと次善モードＣＳＯとの計算コストを計算する方法の一例を示す。以下の式では、ｉｄの添え字は、インナー復号化を表す。式において、Ｃｏｄ（ｂ）は、訂正バイトエラー数ｂのアウターデコーダの計算コストを表す。また、Ｃｄｅｉｎｔは、デインタリーバ３０の計算コストを示す。
【００４４】
スイッチポジション０においてＮｂバイトのブロックにｂバイトエラーを有する確率は、
【００４５】
【数２】
2012525753.tif 000003
として計算可能である。
【００４６】
次善及び最適モードが競合するとき、ＢｙＥＲｓｗ０は極めて低くなる。従って、
【００４７】
【数３】
2012525753.tif 000004
を
【００４８】
【数４】
2012525753.tif 000005
として近似することが妥当である。
【００４９】
最適モードの平均的な計算コストＣＯは、
【００５０】
【数５】
2012525753.tif 000006
として計算できる。
【００５１】
従って、上記から式（２）を用いて、ＣＯ（ＢｙＥＲｓｗ０）は、
【００５２】
【数６】
2012525753.tif 000007
として記述できる。
【００５３】
上記から多項式ｇ（ＢｙＥＲｓｗ１）と式（５）とを用いて、ＣＯ（ＢｙＥＲｓｗ１）は、
【００５４】
【数７】
2012525753.tif 000008
として計算できる。
【００５５】
セレクタ１８がポジション１にあるとき、Ｎｂバイトのブロックにバイトエラーを有する確率は、
【００５６】
【数８】
2012525753.tif 000009
として計算できる。
【００５７】
式（７）及び（３）から、次善デコーダを実行するための平均的な計算コストは、
【００５８】
【数９】
2012525753.tif 000010
として計算される。
【００５９】
式（７）から、ＣＳＯ（ＢｙＥＲｓｗ１）は、
【００６０】
【数１０】
2012525753.tif 000011
として計算できる。
上記から多項式ｇ（ＢｙＥＲｓｗ０）と式（９）とを用いて、ＣＳＯ（ＢｙＥＲｓｗ０）は、
【００６１】
【数１１】
2012525753.tif 000012
として記述できる。
【００６２】
上記の式を用いて、最適モード又は次善モードでの動作の間の関係が規定され、次善モードで動作するか決定するため利用可能である。この関係は、図４及び５から明らかである。図４は、ＣＳＯにより示される次善モードとＣＯにより示される最適モードとにおける計算コストに対する最適モードにおけるバイトエラーレートＢｙＥＲｓｗ０を示す。図４は、多項式Ｐ（ＢｙＥＲ）を用いてＢｙＥＲｓｗ０からＢｙＥＲｓｗ１を計算することによって生成可能であり、ＣＳＯはＢｙＥＲｓｗ１から計算される。図５は、ＣＳＯ及びＣＯに対するＢｙＥＲｓｗ１を示す。図４と５の双方において、コストはＣＯに正規化される。さらに、ＣＯは、エラーがないとき１であると仮定される。（これは、最適モードに有利であるが、その効果は関心領域において無視できる。）
上記を用いて、エラー統計のモニタは、双方の動作モードにおいて他方のモードがより低い計算負荷を提供するか正確に予測することを可能にする。モード間の高速切替は、変化するチャネル状態に良好に応答可能である。何れのモードでも、出力エラーパフォーマンスは有意な影響を受けない。
【００６３】
次善インナー復号化が許容されることを決定した後、システム１０は、バッファ１４から受信したデータに次善インナー復号化を適用する。例えば、システム１０が復号化を開始するとき、スイッチはポジション０にあると仮定する。ある期間後、アウターデコーダ３４の出力に基づき測定が行われ、セレクタ１８をポジション１に移行させるか決定される。例えば、期間中のアウターデコーダ３４による訂正エラー数が閾値未満である場合、スイッチポジションは１に変更可能である。ここで、訂正エラー数に基づき、次善デコーダがより低い計算負荷で復号化を処理可能であることが推定される。従って、セレクタ１８は移行され、次善インナー復号化が以降のデータに適用される。
【００６４】
図２を参照して、方法２００はまた、アウターデコーダ３４の出力においてエラーを検出する（ステップ２４０）を含む。アウターデコーダ３４の出力におけるエラーは、アウターデコーダ３４の要求される訂正数が閾値を超えるときに発生する。すなわち、インナーデコーダ２２，２６の出力が特定数を超えるＢｙＥＲを生じさせると、アウターデコーダはデータを正しく復号化することができない。ＲＳデコーダがアウターデコーダ３４であるとき、ＲＳデコーダは、復号化を実行するプロセッサにより認識可能なエラーイベントを示す。このようなパフォーマンス低下の１つ原因は、送信主体と受信主体との間のチャネル状態の変化であり得る。
【００６５】
エラーを受けた後、方法２００は、アウターデコーダ３４においてエラーを生じさせたデータブロックを再符号化する（ステップ２５０）。バッファ１４はシステム１０の構成要素の遅延を考慮して適切なサイズとされていることに留意されたい。一実施例では、バッファ１４のサイズは、デインタリーバ３０とインナーデコーダ２２，２６との遅延の和に等しい。複数の復号化ブロックの遅延による畳み込みデインタリーバが、これらの方式のために通常利用される。デインタリーバ３０と次善インナーデコーダ２６との遅延の合計は、“Ｄ”により示される。インナーデコーダ２２，２６の遅延は、通常はブロック未満である。本実施例では、実装の容易化のため、インナーデコーダ２２，２６の遅延は１ブロックであると仮定する。この場合、アウターデコーダ３４の入力におけるブロック数“ｎ”は、インナーデコーダ２２，２６の入力におけるブロック番号ｎ−Ｄ＋１からｎまでのデータを有する。従って、復号化失敗がポジション１にあるセレクタ１８にアウターデコーダ３４により示された場合、セレクタ１８のポジションは０に変更され、最適インナーデコーダ２２が、バッファ１４にあるｎ−Ｄ＋１からｎまでのブロック番号に対して実行される。
【００６６】
すなわち、バッファ１４は、特定の期間ある個数のデータブロックを格納する。従って、アウターデコーダ３４の出力においてエラーが発生すると、当該エラーを生じさせたブロックが、バッファ１４から抽出され、最適インナーデコーダ２２を用いて再復号化することができる。特定のデータブロックの再復号化のための最適復号化へのこの一時的なシフトは、全体的なエラーパフォーマンスが影響を受けないことを保障するのに役立つ。
【００６７】
図６及び７は、汎用コンピュータハードウェアプラットフォームの機能ブロック図を提供する。図６は、典型的にはサーバを実現するのに利用されるネットワーク又はホストコンピュータプラットフォームを示す。図７のコンピュータはまた適切にプログラムされた場合にはサーバとして動作可能であるが、図７は、パーソナルコンピュータ（ＰＣ）又は他のタイプのワークステーション若しくは端末装置を実現するのに利用されるようなユーザインタフェース要素を有するコンピュータを示す。当業者はこのようなコンピュータ装置の構成、プログラミング及び一般的な処理に精通しており、このため、図面は自明であると考えられる。
【００６８】
このようなコンピュータのハードウェア要素、オペレーティングシステム及びプログラミング言語は、実質的に従来のものであり、当業者はこれらに適切に精通していると仮定される。もちろん、サーバ機能は、処理負荷を分散させるため、いくつかの同様のプラットフォーム上で分散されて実現されてもよい。
【００６９】
従って、上述された直列連接復号化方法の特徴はプログラミングにより実現されてもよい。当該技術のプログラムの特徴は、典型的には、あるタイプのマシーン可読媒体に担持又は実現される実行可能なコード及び／又は関連するデータの形式により“製品”又は“製造物”とみなされてもよい。“ストレージ”タイプの媒体は、ソフトウェアプログラミングのために任意の時点でストレージを提供する各種半導体メモリ、テープドライブ、ディスクドライブなど、コンピュータ、プロセッサ、関連するモジュールなどのメモリの何れか又はすべてを含む。ソフトウェアのすべて又は一部は、インターネット又は他の各種通信ネットワークを介し通信されてもよい。このような通信は、例えば、ネットワークオペレータやキャリアの管理サーバ又はホストコンピュータからカスタマ通信システムとして機能するコンピュータプラットフォーム及び／又はデータ収集手段のコンピュータプラットフォームへなど、１つのコンピュータ又はプロセッサから他のものにソフトウェアの搭載を可能にするものであってもよい。従って、ソフトウェア要素を搬送する他のタイプの媒体は、有線及び地上の光ネットワーク並びに各種無線リンクを介し、ローカル装置間の物理インタフェースにおいて使用される光波、電波及び電磁波を含む。無線又は有線リンク、光リンクなど、このような波を搬送する物理要素はまた、ソフトウェアを搬送する媒体とみなされてもよい。ここで用いられるコンピュータ又はマシーン可読媒体などの用語は、有形な記憶媒体に限定されず、実行のためプロセッサに命令を提供するのに利用される何れかの媒体を表す。
【００７０】
ここでは、マシーン可読媒体は、限定されることなく、有形の記憶媒体、搬送波媒体又は物理伝送媒体を含む多数の形態をとりうる。不揮発性の記憶媒体は、例えば、図示されるようなデータ収集手段、カスタマ通信システムなどを実現するのに利用され、又は何れかのコンピュータの何れかの記憶装置などの光ディスク又は磁気ディスクなどを含む。揮発性の記憶媒体は、このようなコンピュータプラットフォームのメインメモリなどのダイナミックメモリを含む。有形な伝送媒体は、コンピュータシステム内でバスを構成する有線を含む同軸ケーブル、銅線及び光ファイバを含む搬送波伝送媒体は、無線周波数（ＲＦ）及び赤外線（ＩＲ）データ通信中に生成されるものなど、電気信号、電磁気信号、音響波又は光波の形態をとりうる。コンピュータ可読媒体の一般的な形態は、例えば、フロッピー（登録商標）ディスク、ハードディスク、磁気テープ、他の何れかの磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤ若しくはＤＶＤ−ＲＯＭ、他の何れかの光媒体、パンチカード紙テープ、ホールパターンを有する他の何れかの物理記憶媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の何れかのメモリチップ若しくはカートリッジ、データ若しくは命令を搬送する搬送波、搬送波を搬送するケーブル若しくはリンク、又はコンピュータがプログラミングコード及び／又はデータを読み込み可能な他の何れかの媒体などを含む。これらの形態のコンピュータ可読媒体の多くは、実行のためプロセッサに１以上の命令の１以上のシーケンスを搬送することに関する。
【００７１】
当業者は、本開示が各種改良及び／又はエンハンスメントに対して補正可能であるこを認識するであろう。例えば、上記実施例はテレビ放送環境における復号化に関するものであるが、ここで説明される効果は、直列連接復号化が利用されるラジオ放送、セルラー通信及び他の通信システムに等しく適用可能である。また、２つのインナーデコーダが示されるが、より多くが利用可能である。従って、プロセッサの様々な程度の負荷の低減が実現可能である。
【００７２】
ベストモードと考えられるもの及び／又は他の実施例が上述されたが、各種改良がされてもよく、ここに開示される主題は各種形態及び実施例において実現されてもよく、また当該教示は、一部しかここでは開示されていないが、多数のアプリケーションにおいて適用されてもよいことが理解される。以下の請求項によって、本教示の真の範囲に属する何れか及び全てのアプリケーション、改良及び変形を請求することが意図される。
【図１】
2012525753.tif 000013
【図２】
2012525753.tif 000014
【図３】
2012525753.tif 000015
【図４】
2012525753.tif 000016
【図５】
2012525753.tif 000017
【図６】
2012525753.tif 000018
【図７】
2012525753.tif 000019
【国際調査報告】
2012525753.tif 000020