(57)【要約】本発明はデータを復号化するための方法に関し、前記方法は、入力データウィンドウ（ＷＩＤ）を使用する。本発明は、ステップの現在のウィンドウについて、前方回帰を実行するステップであって、前記前方回帰は以前の反復の同じステップの以前のウィンドウの上位ステーク（ＳＴＫ）からの前方状態計量ベクトル（ａ）により初期化され、ウィンドウ（ＷＩＤ）は下位および上位ステーク（ＳＴＫ）を備えるステップと、後方回帰を実行するステップであって、前記後方回帰は、以前の反復の同じステップの次のウィンドウの下位ステーク（ＳＴＫ）からの後方状態計量ベクトル（ｂ）により初期化されるステップとを備えることを特徴とする。通信システムにおいて受信器で使用される。
2005539451.tif 000002
【特許請求の範囲】
【請求項１】
データを復号化するための方法であって、入力データの複数のウィンドウを使用する、いくつかのステップを有する複数の反復を備え、１つの反復内の１つのステップの現在のウィンドウについて、
前方回帰を実行するステップであって、前記前方回帰は以前の反復の同じステップの以前のウィンドウの上位ステークからの前方状態計量ベクトルにより初期化され、１つのウィンドウは下位および上位ステークを備えるステップと、
後方回帰を実行するステップであって、前記後方回帰は、以前の反復の同じステップの次のウィンドウの前記下位ステークからの後方状態計量ベクトルにより初期化されるステップとを備えることを特徴とする方法。
【請求項２】
最後に計算された前記前方状態計量ベクトルは、前記前方回帰中に前記現在のウィンドウの上位ステーク内に格納され、最後に計算された前記後方状態計量ベクトルは、前記後方回帰中に前記現在のウィンドウの前記下位ステーク内に格納されることを特徴とする、請求項１に記載の方法。
【請求項３】
１つのステップのすべての前記ウィンドウは並行して処理されることを特徴とする、請求項１に記載の方法。
【請求項４】
データを復号化するための復号器であって、前記復号化は、入力データの複数のウィンドウを使用する、いくつかのステップを有する複数の反復を備え、１つの反復内の１つのステップの現在のウィンドウについて、
前方回帰であって、前記前方回帰は以前の反復の同じステップの以前のウィンドウの上位ステークからの前方状態計量ベクトルにより初期化され、１つのウィンドウは下位および上位ステークを備える前方回帰と、
後方回帰であって、前記後方回帰は、以前の反復の同じステップの次のウィンドウの前記下位ステークからの後方状態計量ベクトルにより初期化される後方回帰とを実行するための、計算ユニットを備えることを特徴とする復号器。
【請求項５】
入力データを受信するように適合された受信器であって、前記入力データは請求項４に記載の復号器によって処理される受信器。
【請求項６】
受信器のためのコンピュータ・プログラム製品であって、前記受信器にロードされるとき、前記受信器に、請求項１から３に記載の方法を実行させる命令のセットを備えるコンピュータ・プログラム製品。
【請求項７】
コンピュータのためのコンピュータ・プログラム製品であって、前記コンピュータにロードされるとき、前記コンピュータに、請求項１から３に記載の方法を実行させる命令のセットを備えるコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータを復号化するための方法に関し、前記方法は、入力データの複数のウィンドウを使用するいくつかのステップを有する反復を備える。
【０００２】
このような方法は、特にいずれかのシステムで、ＵＭＴＳ規格またはある衛星通信を使用して使用することができる。
【背景技術】
【０００３】
標準３ＧＰＰ（3GPP TS 25.212）で定義されたＵＭＴＳ規格を使用したシステムでは、データはこのようなシステムの受信器で受信されるときに復号化される。このような受信器は、集積回路内に復号器を備える。現在はターボ復号器とも呼ばれる前記復号器は、相互依存するＳＩＳＯとも呼ばれる２つの軟入力軟出力ステップを備える。ＳＩＳＯステップは、二者択一的に、インタリーブされたデータ・ストリームを有する（ＳＩＳＯ２と呼ばれる）か、または非インタリーブされたデータ・ストリームを有する（ＳＩＳＯ１と呼ばれる）、入力データの復号化を示す。
【０００４】
復号化処理中に、符号化の可能性のある状態のトレリスが定義される。
【０００５】
参照文献「Implementation issues of 3rd generation mobile communication turbo decoding」(j.DielissenおよびJ.Huisken)、21st Symposium on Information Theory in Benelux、９〜１６頁、2000年５月、Wassenaar、オランダにおいて、データ・ブロックＢの復号化は以下の方法で行われる。
【０００６】
ＳＩＳＯステップは、前方状態計量ベクトル（forward state metric vectors）αを処理するある前方回帰（forward recursion）、状態計量ベクトルβを処理するある後方回帰（backward recursion）を管理し、これらの状態計量ベクトルは、符号化の可能性のある状態のトレリス内で、ある確率係数λを出力する外部計算において使用される。
【０００７】
復号化を実行するために、スライディング・ウィンドウのシステムが使用される。これは、受信器によって受信された入力データを複数のデータウィンドウに分割することに基づく。
【０００８】
スライディング・ウィンドウの原理を図１に示す。
【０００９】
復号器によって受信されたデータ・ブロックＢは、サイズＷのウィンドウに分割され、１つの一意の計算ユニットが２つのＳＩＳＯステップを実行中である。前記ユニットは、順次的な方法で、ウィンドウからウィンドウへと、各ＳＩＳＯステップの状態計量および確率係数を計算する。確率の正しい係数を収束させるために、複数の反復が実行される。単一の反復は、第１および第２のＳＩＳＯステップを備える。
【００１０】
第１の反復ＩＴＥＲ＿Ｎで、計算ユニットは第１のＳＩＳＯステップＳＩＳＯ１の計算を実行する。
【００１１】
第１のウィンドウ０−Ｗでは、計算ユニットは第１の前方回帰を行い、第１のセットの前方状態計量αを処理する。第２のウィンドウＷ−２Ｗ中に、計算ユニットは第２の前方回帰を実行し、第２のセットの前方状態計量αを処理する。この第２の前方回帰と並行して、計算ユニットは第１のセットの後方状態計量βを処理する第１の後方回帰を実行する。確率係数λの計算は、対応する後方状態計量ベクトルβが計算された直後に開始することに留意されたい。
【００１２】
第３のウィンドウ２Ｗ−３Ｗ中に、計算ユニットは、第１の反復ＩＴＥＲ＿Ｎの最後のウィンドウ（Ｂ−Ｗ）−Ｂまで、第３の前方回帰および第２の後方回帰を実行する。
【００１３】
次いで、計算ユニットは、第２のＳＩＳＯステップＳＩＳＯ２についてまったく同じ種類の計算を実行する。
【００１４】
後方回帰中に、新しい各ウィンドウで、最後の後方状態計量ベクトルβが保存されることに留意されたい。これは、同じＳＩＳＯステップ（ＳＩＳＯ１の場合はＳＩＳＯ１、ＳＩＳＯ２の場合はＳＩＳＯ２）で次の反復の以前のウィンドウを初期化するために使用されるようになる。このように、１つのウィンドウは別のウィンドウに依存している。
【００１５】
従来技術の１つの主要な問題は、データ処理量が大きい場合に従来技術の解決策で時間がかかり過ぎることである。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
したがって、本発明の目的は、ＳＩＳＯ計算の時間消費を改善することによって効率的な復号化を達成する、入力データウィンドウを使用してデータを復号化するための方法および復号器を提供することである。
【課題を解決するための手段】
【００１７】
このために、１つの方法が提供され、この方法は、反復内のステップの現在のウィンドウについて、
−前方回帰を実行するステップであって、前記前方回帰は、以前の反復の同じステップの以前のウィンドウの上位ステーク（ｕｐｐｅｒ  ｓｔａｋｅ）からの前方状態計量ベクトルにより初期化され、ウィンドウは下位および上位ステークを備えるステップと、
−後方回帰を実行するステップであって、前記後方回帰は、以前の反復の同じステップの次のウィンドウの下位ステーク（ｌｏｗｅｒ  ｓｔａｋｅ）からの後方状態計量ベクトルにより初期化されるステップとを備える。
【００１８】
加えて、復号器が提供され、この復号器は、反復内のステップの現在のウィンドウについて、
−前方回帰であって、前記前方回帰は、以前の反復の同じステップの以前のウィンドウの上位ステークからの前方状態計量ベクトルにより初期化され、ウィンドウは下位および上位ステークを備え、
−後方回帰であって、前記後方回帰は、以前の反復の同じ状態の次のウィンドウの下位ステークからの後方状態計量ベクトルにより初期化される後方回帰とを実行するための計算ユニットを備える。
【００１９】
さらに詳細に見るように、このような方法は、取られる時間を短縮することができる。それが属する反復ではなく、以前の反復の同じ種類のステップからのウィンドウのために行われた初期化を介して、ステップのすべてのウィンドウ計算が並行して実行されることが可能となる。
【００２０】
本発明の追加の目的、特徴および利点は、以下の詳細な説明を読んだ上で、また、添付の図面を参照した上で明らかになるであろう。
【発明を実施するための最良の形態】
【００２１】
以下の説明では、当業者に周知の機能または構成を詳しく説明することはしないが、それはそうすることで本発明が不必要に曖昧になるからである。
【００２２】
本発明は、スライディング・ウィンドウを使用してデータを復号化するための方法に関する。前記方法は特に集積回路内のターボ復号器において使用され、前記集積回路は、送信器および受信器を備えるＵＭＴＳ通信システム内、より詳細には、前記受信器、例えば、基地局の受信器内に埋め込まれる。
【００２３】
受信器はある入力データを受信し、この入力データは、当業者に周知の一般の汎用符号化スキームによって符号化される。受信器は、送信器によって送信された信号を回復するために、そのターボ復号器を通じて、符号化された入力データを復号化しなければならない。
【００２４】
このために、復号化中に、符号化の可能性のある状態のトレリスが定義され、復号化処理は２つのＳＩＳＯステップ（軟入力軟出力）を備え、ＳＩＳＯステップは、データウィンドウＷＩＤ（以下で詳細に定義する）または完全信号の復号化であり、前記復号化は、それぞれインタリーブされたデータによる（ＳＩＳＯ２と呼ばれる）、および、非インタリーブされたデータによる（ＳＩＳＯ１と呼ばれる）、前方回帰、後方回帰および外部計算を備える。
【００２５】
図２に例示するように、トレリスは８個の可能な状態ＳＴＡＴＥから構成される。組織的（systematic）とも呼ばれる入力データ、パリティ入力データとも呼ばれる対応する符号化された入力データ、および先験的情報（以前のＳＩＳＯステップからのもの）が与えられると、ある状態から別の状態への各移行は、分岐計量ベクトル（branch metric vector）γによって特徴付けられる。各トレリス・ステップで、前方状態計量ベクトルαは以前の状態計量ベクトルαおよび関連付けられた分岐計量ベクトルγから計算され、後方状態計量ベクトルβは次の状態計量ベクトルβおよび関連付けられた分岐計量ベクトルγから計算される。所与のトレリス・ステップで、両方の状態計量ベクトル（αおよびβ）が計算されているとき、外部値、すなわち確率係数λをこれらの状態計量および分岐計量ベクトルから処理することができる。
【００２６】
各ＳＩＳＯステップは、他のＳＩＳＯから来る情報を使用することによって、他のＳＩＳＯステップと相互に作用する。ＳＩＳＯステップは外部計算λを出力し、これは次のＳＩＳＯステップによって先験的情報として使用される。
【００２７】
この外部情報は、０または１信号が送信された確率を評価する。
【００２８】
正しい確率の係数λへ、したがって正しく符号化された信号へ漸進的に収束するために、ＳＩＳＯステップの複数の反復が実行される。単一の反復は、第１のＳＩＳＯ１および第２のＳＩＳＯ２ステップを備える。
【００２９】
受信された入力データを復号化するために、ターボ復号器は、入力データに適用されるデータのスライディング・ウィンドウのシステムを使用する。スライディング・ウィンドウのシステムは、入力データ・ブロックＢをデータウィンドウに分割することに基づき、データウィンドウＷＩＤは、他のウィンドウＷＩＤとは異なる可能性のあるサイズを有する。
【００３０】
データのブロックＢと共に、いくつかの後部ビットが送信器によって受信器へ、したがって復号器に送信されることに留意されたい。
【００３１】
入力データ・ブロックＢの復号化は以下のように行われる。
【００３２】
データ・ブロックＢの全体は優先的に等しいサイズのウィンドウＷＩＤに分割される。計算ユニットＣＯＭＰは、復号化のレーテンシーを短縮するために、データ・ブロックＢの各ウィンドウＷＩＤに割り振られる。ウィンドウは、ステークＳＴＫと呼ばれるいくつかの初期化点を備える。
【００３３】
２つのステークＳＴＫである下位ステークおよび上方ステークは、ウィンドウＷＩＤを特徴付ける。実際には、図３を見るとわかるように、下位ステークはまたウィンドウの下限をも、上位ステークはウィンドウの上限をも表す。
【００３４】
以前の反復ＳＩＳＯステップの以前のウィンドウＷＩＤ計算によって初期化された上位ステークは、現在の反復の各ＳＩＳＯステップの現在のウィンドウＷＩＤの前方状態計量ベクトルαを計算するために使用される。
【００３５】
以前の反復ＳＩＳＯステップの次のウィンドウＷＩＤ計算によって初期化された下位ステークは、現在の反復の各ＳＩＳＯステップの現在のウィンドウＷＩＤの後方状態計量ベクトルβを計算するために使用される。
【００３６】
復号化されるデータのブロックＢと共に送信された後部ビットは、最後のウィンドウＷＩＤの後方回帰を初期化するために使用されることに留意されたい。最後の状態計量ベクトルβは、前記後部ビットを使用して既知の初期状態０  ＳＴＡＴＥ０からトレース・バックを行うことによって得られる。これは、復号化処理の開始で、終了生成器と呼ばれるユニットによって行われる。
【００３７】
復号化の開始で、ステークＳＴＫを、一様の任意の状態計量ベクトル（例えば０）により初期化することができる。当然ながら、効率的な実装−ＢＣＪＲ初期化技術（トレーニング前方および後方回帰は、任意の値ではなく最初の反復を初期化するために行われる）は、当業者には周知であり、これもまた使用することができるが、これは実際には時間がかかるので、全体の性能に影響を及ぼす可能性がある。
【００３８】
ターボ復号器の各計算ユニットＣＯＭＰは次いで、以下のように、ＳＩＳＯステップ中にその関連付けられたウィンドウＷＩＤを独立して処理することができる。
【００３９】
−前方回帰は、以前の各ＳＩＳＯステップ内の以前のウィンドウ、すなわち、以前の反復における同じＳＩＳＯステップ（ＳＩＳＯ１またはＳＩＳＯ２）の以前のウィンドウの、上位ステークからの前方状態計量α値により初期化される。
【００４０】
−前方回帰が終了し、最後に計算された前方状態計量αが現在のウィンドウの上位ステーク内に格納される。
【００４１】
−後方回帰は、以前の各ＳＩＳＯステップ内の次のウィンドウ、すなわち、以前の反復における同じＳＩＳＯステップ（ＳＩＳＯ１またはＳＩＳＯ２）の次のウィンドウの、下位ステークからの後方状態計量β値により初期化される。
【００４２】
−後方回帰が終了し、最後に計算された後方状態計量βが現在のウィンドウの下位ステーク内に格納される。
【００４３】
好ましくは、以前の反復における同じＳＩＳＯステップの以前のウィンドウは、直前の反復における同じタイプのＳＩＳＯステップ（タイプＳＩＳＯ１またはタイプＳＩＳＯ２のいずれか）の直前のウィンドウであり、以前の反復における同じＳＩＳＯステップの次のウィンドウは、直前の反復における同じ種類のＳＩＳＯステップの連続したウィンドウである。
【００４４】
このような復号化の一実施例を図３に例示する。図３の図では、Ｘ軸は時間を表し、Ｙ軸は、処理されるウィンドウＷＩＤを表す。この実施例では、２つの反復ＩＴＥＲ＿０およびＩＴＥＲ＿１がある。ウィンドウＷＩＤは、計算される４つの入力データを有すると仮定する。
【００４５】
第１の反復ＩＴＥＲ＿０中に、以下のステップが実行される。
【００４６】
第１のステップ１）で、第１のＳＩＳＯステップＳＩＳＯ１が、そのウィンドウＷＩＤに関連付けられた異なる計算ユニットＣＯＭＰによって実行される。
【００４７】
第１の計算ユニットＣＯＭＰ１は、入力データ・ブロックＢのサイズＷの第１のウィンドウＷＩＤ１（０−Ｗ）を処理する。
【００４８】
前方回帰計算があり、これは前記第１のウィンドウＷＩＤ１の前方状態計量ベクトルαを計算し、前記前方回帰は、任意の値、例えば０により初期化され、すなわち、最初の前方状態計量ベクトルα０は０の値を有する。
【００４９】
この前方回帰が終了し、最後に計算された前方状態計量ベクトルαは、このウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ１内に格納される。
【００５０】
次いで、後方回帰があり、これはこの第１のウィンドウＷＩＤ１の後方状態計量ベクトルβを計算し、前記後方回帰は例えば０により初期化され、すなわち、最後の後方状態計量ベクトルβ３は０の値を有する。
【００５１】
後方回帰が終了し、最後に計算された後方状態計量ベクトルβ、ここではβ０は、いかなるＳＩＳＯステップ内でも使用されないので、ステークＳＴＫ内に格納されない。
【００５２】
この第１のウィンドウＷＩＤ１処理と並行して、他のウィンドウＷＩＤ２、ＷＩＤ３、．．．は第２、第３．．．の計算ユニットＣＯＭＰ２、ＣＯＭＰ３．．．によってそれぞれ処理される。それらの処理は、上述の第１のウィンドウＷＩＤ１の場合と同じであるが、ただし、それらの最後の後方状態計量ベクトルβは、下位ステークＳＴＫＳＩＳＯ１内に格納される。
【００５３】
最後のウィンドウＷＩＤＢでは、前方回帰が終了し、このウィンドウＷＩＤＢの最後の前方計算された状態計量ベクトルαは、その後使用されないので、ステーク内に格納されない。
【００５４】
次いで、後方回帰が、終了生成器によって計算された計量ベクトルにより初期化され、このベクトルは後部ビットの関数であり、処理される。後方回帰が終了し、最後に計算された後方状態計量β０は、次の反復のＳＩＳＯ１ステップのための下位ステークＳＴＫ＿Ｂ−ＷＳＩＳＯ１内に格納される。
【００５５】
図３で、すべての無地の灰色の円は、０により初期化された現在の回帰を定義し、すべての透明の円は、終了生成器からのベクトルにより初期化された現在の回帰を定義したことに留意されたい。
【００５６】
第２のステップ２）で、第２のＳＩＳＯステップＳＩＳＯ２が、そのウィンドウＷＩＤに関連付けられた異なる計算ユニットＣＯＭＰによって実行される。これらの計算ユニットＣＯＭＰは、ウィンドウが同じであるので、第１のＳＩＳＯステップＳＩＳＯ１のものと同じであることに留意されたい。
【００５７】
第１の計算ユニットＣＯＭＰ１は、入力データ・ブロックＢのサイズＷの第１のウィンドウＷＩＤ１を処理する。
【００５８】
前方回帰計算があり、これは前記第１のウィンドウＷＩＤ１の前方状態計量ベクトルαを計算し、前記前方回帰は０により初期化され、すなわち、最初の前方状態計量ベクトルα０は０の値を有する。
【００５９】
この前方回帰が終了し、最後に計算された前方状態計量ベクトルα３は、このウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ２内に格納される。
【００６０】
次いで、後方回帰があり、これは第１のウィンドウＷＩＤ１の後方状態計量ベクトルβを計算する。前記後方回帰は例えば０により初期化され、すなわち、最後の後方状態計量ベクトルβ３は０の値を有する。
【００６１】
後方回帰が終了し、最後に計算された後方状態計量ベクトルβは、いかなるＳＩＳＯステップ内でも使用されないので、ステーク内に格納されない。
【００６２】
この第１のウィンドウＷＩＤ１処理と並行して、他のウィンドウＷＩＤ２、ＷＩＤ３、．．．は第２、第３．．．の計算ユニットＣＯＭＰ２、ＣＯＭＰ３．．．によってそれぞれ処理される。
【００６３】
それらの処理は、上述の第１のウィンドウＷＩＤ１の場合と同じであるが、ただし、それらの最後の後方状態計量ベクトルβは、下位ステークＳＴＫＳＩＳＯ２内に格納される。
【００６４】
第２の反復ＩＴＥＲ＿１中に、以下のステップが実行される。
【００６５】
第１のステップ１）で、第１のＳＩＳＯステップＳＩＳＯ１が、そのウィンドウＷＩＤに関連付けられた異なる計算ユニットＣＯＭＰによって実行される。
【００６６】
前方回帰計算があり、これは前記第１のウィンドウＷＩＤ１の前方状態計量ベクトルαを計算し、前記前方回帰は、任意の値、例えば０により初期化され、すなわち、最初の前方状態計量ベクトルα０は０の値を有する。
【００６７】
この前方回帰が終了し、最後に計算された前方状態計量ベクトルαは、このウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ１内に格納される。
【００６８】
次いで、後方回帰があり、これはこの第１のウィンドウＷＩＤ１の後方状態計量ベクトルβを計算し、前記後方回帰は、以前の各ＳＩＳＯ１ステップの次のウィンドウＷＩＤ２の下位ステークにより初期化される。
【００６９】
後方回帰が終了し、最後に計算された後方状態計量ベクトルβ、ここではβ０は、いかなるＳＩＳＯステップ内でも使用されないので、ステークＳＴＫ内に格納されない。
【００７０】
この第１のウィンドウＷＩＤ１処理と並行して、他のウィンドウＷＩＤ２、ＷＩＤ３、．．．は第２、第３．．．の計算ユニットＣＯＭＰ２、ＣＯＭＰ３．．．によってそれぞれ処理される。
【００７１】
これらの各ウィンドウでは、以下の通りである。
【００７２】
−前方回帰は、以前の反復ＳＩＳＯ１ステップの以前のウィンドウの上位ステークＳＴＫＳＩＳＯ１からの前方状態計量ベクトルαにより初期化される。
【００７３】
−前方回帰が終了し、最後に計算された前方状態計量ベクトルαは、現在のウィンドウの上位ステークＳＴＫ＿ＳＩＳＯ１内に格納される。
【００７４】
−後方回帰は、以前の反復ＳＩＳＯ１ステップの次のウィンドウの下位ステークＳＴＫＳＩＳＯ１からの後方状態計量ベクトルβにより初期化される。
【００７５】
−後方回帰が終了し、最後に計算された後方状態計量ベクトルβは、現在のウィンドウの下位ステークＳＴＫＳＩＳＯ１内に格納される。
【００７６】
例えば、第２のウィンドウＷＩＤ（Ｗ−２Ｗ）では、前方回帰は、以前の反復ＳＩＳＯ１ステップのウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ１の前方状態計量ベクトルα３により初期化され、最後に計算された前方状態計量ベクトルα７は、この現在のウィンドウの上位ステークＳＴＫ＿２ＷＳＩＳＯ１内に格納される。後方回帰は、以前の反復ＳＩＳＯ１ステップのウィンドウＷＩＤ３の下位ステークＳＴＫ＿３ＷＳＩＳＯ１の後方状態計量ベクトルβ８により初期化され、最後に計算された後方状態計量ベクトルβ４は、この現在のウィンドウの下位ステークＳＴＫ＿２ＷＳＩＳＯ１内に格納される。
【００７７】
最後のウィンドウＷＩＤＢでは、前方回帰は、下位ステークＳＴＫ＿Ｂ−ＷＳＩＳＯ１からの最後の前方状態計量ベクトルα（ｂ−Ｗ−１）により初期化される。前方回帰が終了し、このウィンドウＷＩＤＢの最後に計算された状態計量ベクトルα（Ｂ−１）は、その後使用されないので、ステークＳＴＫ内に格納されない。
【００７８】
次いで、後方回帰は、終了生成器によって計算された状態計量ベクトルにより初期化され、前記ベクトルは後部ビットの関数であり、処理される。後方回帰が終了し、最後に計算された後方状態計量ベクトルβ（Ｂ−Ｗ）は、次の反復ＩＴＥＲ＿２のための、およびしたがって次のＳＩＳＯ１ステップのための、下位ステークＳＴＫ＿ＢＷＳＩＳＯ１内に格納される。
【００７９】
第２のステップ２）で、第２のＳＩＳＯステップＳＩＳＯ２が、そのウィンドウＷＩＤに関連付けられた異なる計算ユニットＣＯＭＰによって実行される。これらの計算ユニットＣＯＭＰは、ウィンドウが同じであるので、第１のＳＩＳＯステップＳＩＳＯ１のものと同じであることに留意されたい。
【００８０】
第１の計算ユニットＣＯＭＰ１は、入力データ・ブロックＢのサイズＷの第１のウィンドウＷＩＤ１を処理する。
【００８１】
前方回帰計算があり、これは前記第１のウィンドウＷＩＤ１の前方状態計量ベクトルαを計算し、前記前方回帰は、任意の値、例えば０により初期化され、すなわち、最初の前方状態計量ベクトルα０は０の値を有する。
【００８２】
この前方回帰が終了し、最後に計算された前方状態計量αがこのウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ２内に格納される。
【００８３】
次いで、後方回帰があり、これは第１のウィンドウＷＩＤ１の後方状態計量ベクトルβを計算し、前記後方回帰は、以前の各ＳＩＳＯ２ステップの次のウィンドウＷＩＤ２の下位ステークにより初期化される。
【００８４】
後方回帰が終了し、最後に計算された後方状態計量ベクトルβ、ここではβ０は、いかなるＳＩＳＯステップ内でも使用されないので、ステークＳＴＫ内に格納されない。
【００８５】
この第１のウィンドウＷＩＤ１処理と並行して、他のウィンドウＷＩＤ２、ＷＩＤ３、．．．は第２、第３．．．の計算ユニットＣＯＭＰ２、ＣＯＭＰ３．．．によってそれぞれ処理される。
【００８６】
これらの各ウィンドウでは、以下の通りである。
【００８７】
−前方回帰は、以前の反復ＳＩＳＯ２ステップの以前のウィンドウの上位ステークＳＴＫＳＩＳＯ２からの前方状態計量ベクトルαにより初期化される。
【００８８】
−前方回帰が終了し、最後に計算された前方状態計量ベクトルαは、現在のウィンドウの上位ステークＳＴＫＳＩＳＯ２内に格納される。
【００８９】
−後方回帰は、以前の反復ＳＩＳＯ２ステップの次のウィンドウの下位ステークＳＴＫＳＩＳＯ２からの後方状態計量ベクトルβにより初期化される。
【００９０】
−後方回帰が終了し、最後に計算された後方状態計量ベクトルβが現在のウィンドウの下位ステークＳＴＫＳＩＳＯ２内に格納される。
【００９１】
例えば、第２のウィンドウＷＩＤ２（Ｗ−２Ｗ）では、前方回帰は、以前の反復ＳＩＳＯ２ステップのウィンドウＷＩＤ１の上位ステークＳＴＫ＿ＷＳＩＳＯ２の前方状態計量ベクトルα３により初期化され、最後に計算された前方状態計量ベクトルαは、この現在のウィンドウの上位ステークＳＴＫ＿２ＷＳＩＳＯ２内に格納される。後方回帰は、以前の反復ＳＩＳＯ２ステップのウィンドウＷＩＤ３の下位ステークＳＴＫ＿３ＷＳＩＳＯ２の後方状態計量ベクトルβ８により初期化され、最後に計算された後方状態計量ベクトルβ４は、この現在のウィンドウの下位ステークＳＴＫ＿２ＷＳＩＳＯ２内に格納される。
【００９２】
最後のウィンドウＷＩＤＢでは、前方回帰は、下位ステークＳＴＫ＿Ｂ−ＷＳＩＳＯ２からの最後の前方状態計量ベクトルα（Ｂ−Ｗ−１）により初期化される。前方回帰が終了し、このウィンドウＷＩＤＢの最後に計算された状態計量ベクトルα（Ｂ−１）は、その後使用されないので、ステークＳＴＫ内に格納されない。
【００９３】
次いで、後方回帰は、終了生成器によって計算された計量ベクトルにより初期化され、前記ベクトルは後部ビットの関数であり、処理される。後方回帰が終了し、最後に計算された後方状態計量ベクトルβ（Ｂ−Ｗ）は、次の反復ＩＴＥＲ＿３のための、およびしたがって次のＳＩＳＯ２ステップのための、下位ステークＳＴＫ＿ＢＷＳＩＳＯ２内に格納される。
【００９４】
理解できるように、本発明による方法によれば、１つのＳＩＳＯステップ中のウィンドウのための計算のすべてが、以前のステップから発行された初期化状態計量のシステムにより、並行して行われるので、多くの時間が得られる。実際に、ＳＩＳＯステップでは、すべてのウィンドウがこのとき互いに独立しており、これは、すべてのウィンドウが、処理されるために、このＳＩＳＯステップの別のウィンドウの結果をもはや必要としないからである。
【００９５】
図３に例示したこの実施例は、理想的なデータ・ブロックＢについてのものであった。しかし、しばしば我々は理想的なデータ・ブロックＢを受信せず、従来のデータ・ブロックＢを受信する。従来のデータ・ブロックＢは、他のものよりも小さい、すなわちより少数のデータを含む、最終ウィンドウＷＩＤを有する。すなわち、最終ウィンドウのサイズは他のウィンドウのサイズとは異なる。
【００９６】
本発明による方法は、理想的なデータ・ブロック・シーケンスならびに従来のデータ・ブロックにもうまく適用することに留意されたい。
【００９７】
本発明は前述の実施形態に限定されず、変形形態および修正を、付属の特許請求の範囲において定義された本発明の精神および範囲から逸脱することなく作成することができることを理解されたい。この点において、以下の結びの言葉が作成される。
【００９８】
本発明は、前方および後方回帰が並行して処理される他のＳＩＳＯ構造、すなわち、図４に示すような「Ｘ」または「Ｄ」構造にも適用することができることを理解されたい。実際には、これらの構造では、前方および後方回帰を以前のＳＩＳＯステップからのステークにより初期化することもできる。
【００９９】
本発明は前述のＵＭＴＳ応用例に限定されないことを理解されたい。データウィンドウを使用してデータを復号化するためにターボ復号器を使用するいかなる応用例においても、本発明を使用することができる。
【０１００】
本発明による方法は前述の実施態様に限定されないことを理解されたい。
【０１０１】
ハードウェアまたはソフトウェアの単一のアイテムがいくつかの機能を実行することができるならば、ハードウェアもしくはソフトウェアまたはその両方のアイテムを用いて、本発明による方法の機能を実施する多数の方法がある。これは、ハードウェアもしくはソフトウェアまたはその両方のアイテムのアセンブリが１つの機能を実行することを除外せず、したがって、本発明によるソース復号化の方法を修正することなく、単一の機能を形成する。
【０１０２】
前記ハードウェアまたはソフトウェア・アイテムを、有線の電子回路を用いて、または適切にプログラムされる集積回路を用いて、それぞれいくつかの方法で実装することができる。集積回路をコンピュータ内に、または復号器内に含めることができる。第２の場合、復号器は、前述のように前方および後方回帰を実行するように適合された計算ユニットを備え、前記ユニットは、上述のハードウェアまたはソフトウェア・アイテムである。
【０１０３】
集積回路は命令のセットを備える。したがって、例えばコンピュータ・プログラミング・メモリ内または復号器メモリ内に含まれた前記命令のセットは、コンピュータまたは復号器に、復号化の方法の異なるステップを実行させることができる。
【０１０４】
命令のセットをプログラミング・メモリに、例えばディスクなどのデータ・キャリアを読み取ることによってロードすることができる。サービス・プロバイダもまた、命令のセットを、例えばインターネットなどの通信ネットワークを介して使用可能にすることができる。
【０１０５】
特許請求の範囲内のいかなる参照符号も、特許請求の範囲を限定するものとして解釈されるべきではない。動詞「備える」およびその活用の使用は、いかなる請求項で定義されたものにも加えていかなる他のステップまたは要素の存在をも除外しないことは明らかであろう。要素またはステップに先行する冠詞「ａ」または「ａｎ」は、複数のこのような要素またはステップの存在を除外しない。
【図面の簡単な説明】
【０１０６】
【図１】従来技術による、スライディング・ウィンドウ原理を使用したデータの流れの時間的ビューを例示する図である。
【図２】本発明の方法によって使用される、符号化の可能性のある状態のトレリスを例示する図である。
【図３】本発明の方法による、スライディング・ウィンドウ原理を使用したデータの流れの時間的ビューを例示する図である。
【図４】本発明の方法が適用可能であるスライディング・ウィンドウ原理を使用した復号化の２つの他の構造を例示する図である。
【図１】
2005539451.tif 000003
【図２】
2005539451.tif 000004
【図３】
2005539451.tif 000005
【図４】
2005539451.tif 000006
【国際調査報告】
2005539451.tif 000007
2005539451.tif 000008
2005539451.tif 000009